summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2017-08-25 22:12:55 (GMT)
committerChristian Pointner <equinox@spreadspace.org>2017-08-25 22:12:55 (GMT)
commitfd1895848012bc5b7f39969aea3759326dbd3ce5 (patch)
tree20e7eddb2f427e9e18baddfbee90e724b8fdb36a
initial commit
-rw-r--r--.gitignore16
-rw-r--r--AUTHORS1
-rw-r--r--LICENSE695
-rw-r--r--README40
-rw-r--r--blink/Makefile32
-rw-r--r--blink/blink.c40
-rw-r--r--blink/stm8s_conf.h116
-rw-r--r--blink/stm8s_it.h122
-rw-r--r--contrib/Makefile37
-rw-r--r--contrib/STM8_SPL_v2.2.0_SDCC.patch21738
-rw-r--r--defines.mk46
-rw-r--r--include.mk156
-rw-r--r--lib/led.c80
-rw-r--r--lib/led.h32
-rw-r--r--stdperiph.mk38
15 files changed, 23189 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ba9964c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,16 @@
+*/*.a
+*/*.cdb
+*/*.d
+*/*.d.*
+*/*.rel
+*/*.rst
+*/*.lst
+*/*.sym
+*/*.asm
+*/*.lk
+*/*.map
+*/*.hex
+contrib/stsw-stm8069.zip
+contrib/STM8S_StdPeriph_Lib/
+contrib/.stm8flash.prepared
+contrib/stm8flash
diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 0000000..6762c7c
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1 @@
+Christian Pointner <equinox@spreadspace.org>
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..2ed326a
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,695 @@
+/*
+ * spreadspace stm8 utils
+ *
+ *
+ * Copyright (C) 2017 Christian Pointner <equinox@spreadspace.org>
+ *
+ * This file is part of spreadspace stm8 utils.
+ *
+ * spreadspace stm8 utils is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * any later version.
+ *
+ * spreadspace stm8 utils is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with spreadspace stm8 utils. If not, see <http://www.gnu.org/licenses/>.
+ */
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/README b/README
new file mode 100644
index 0000000..0ed22db
--- /dev/null
+++ b/README
@@ -0,0 +1,40 @@
+Dependencies
+============
+
+make
+sdcc
+libusb-dev (for stm8flash)
+
+
+Build
+=====
+
+Getting the source via GIT:
+---------------------------
+
+git clone git://git.spreadspace.org/stm8-utils.git
+cd stm8-utils
+make -C contrib
+
+build and flash blink example
+-----------------------------
+
+# cd blink
+adapt Makefile (set BOARD_TYPE)
+# make program
+
+
+Some Hints
+==========
+
+The object files for builded libs will be called lib-<name>.o so make sure
+not to use files named like this for your own code. i.e. if you want
+to use the `led` library it's not possible to have a source file name
+lib-led.c inside your project.
+
+
+License
+=======
+
+The spreadspace STM8 utils are licensed under GPLv3. You can find the
+full text of the license in the file LICENSE.
diff --git a/blink/Makefile b/blink/Makefile
new file mode 100644
index 0000000..8255b73
--- /dev/null
+++ b/blink/Makefile
@@ -0,0 +1,32 @@
+##
+## spreadspace stm8 utils
+##
+##
+## Copyright (C) 2017 Christian Pointner <equinox@spreadspace.org>
+##
+## This file is part of spreadspace stm8 utils.
+##
+## spreadspace stm8 utils is free software: you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation, either version 3 of the License, or
+## any later version.
+##
+## spreadspace stm8 utils is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with spreadspace stm8 utils. If not, see <http://www.gnu.org/licenses/>.
+##
+
+NAME := blink
+BOARD_TYPE := test
+OBJ := $(NAME).rel
+LIBS := led
+EXTERNAL_LIBS := stdperiph
+SPREADSTM8_PATH := ..
+
+STDPERIPH_PATH := $(SPREADSTM8_PATH)/contrib/STM8S_StdPeriph_Lib
+
+include $(SPREADSTM8_PATH)/include.mk
diff --git a/blink/blink.c b/blink/blink.c
new file mode 100644
index 0000000..42cd818
--- /dev/null
+++ b/blink/blink.c
@@ -0,0 +1,40 @@
+/*
+ * spreadspace stm8 utils
+ *
+ *
+ * Copyright (C) 2017 Christian Pointner <equinox@spreadspace.org>
+ *
+ * This file is part of spreadspace stm8 utils.
+ *
+ * spreadspace stm8 utils is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * any later version.
+ *
+ * spreadspace stm8 utils is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with spreadspace stm8 utils. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <stm8s.h>
+
+#include "led.h"
+
+int main(void)
+{
+ led_init();
+
+ led_off();
+ for(;;) {
+ int i, j;
+ for(i = 0; i<19000; i++) {
+ for(j = 0; j<5; j++) ;
+ }
+ led_toggle();
+ }
+}
+
diff --git a/blink/stm8s_conf.h b/blink/stm8s_conf.h
new file mode 100644
index 0000000..fdb0e92
--- /dev/null
+++ b/blink/stm8s_conf.h
@@ -0,0 +1,116 @@
+/**
+ ******************************************************************************
+ * @file stm8s_conf.h
+ * @author MCD Application Team
+ * @version V2.2.0
+ * @date 30-September-2014
+ * @brief This file is used to configure the Library.
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>&copy; COPYRIGHT 2014 STMicroelectronics</center></h2>
+ *
+ * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
+ * You may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.st.com/software_license_agreement_liberty_v2
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ ******************************************************************************
+ */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __STM8S_CONF_H
+#define __STM8S_CONF_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm8s.h"
+
+/* Uncomment the line below to enable peripheral header file inclusion */
+#if defined(STM8S105) || defined(STM8S005) || defined(STM8S103) || defined(STM8S003) ||\
+ defined(STM8S903) || defined (STM8AF626x) || defined (STM8AF622x)
+#include "stm8s_adc1.h"
+#endif /* (STM8S105) ||(STM8S103) || (STM8S903) || (STM8AF626x) || (STM8AF622x) */
+#if defined(STM8S208) || defined(STM8S207) || defined(STM8S007) || defined (STM8AF52Ax) ||\
+ defined (STM8AF62Ax)
+ #include "stm8s_adc2.h"
+#endif /* (STM8S208) || (STM8S207) || (STM8AF62Ax) || (STM8AF52Ax) */
+#include "stm8s_awu.h"
+#include "stm8s_beep.h"
+#if defined (STM8S208) || defined (STM8AF52Ax)
+ #include "stm8s_can.h"
+#endif /* (STM8S208) || (STM8AF52Ax) */
+#include "stm8s_clk.h"
+#include "stm8s_exti.h"
+#include "stm8s_flash.h"
+#include "stm8s_gpio.h"
+#include "stm8s_i2c.h"
+#include "stm8s_itc.h"
+#include "stm8s_iwdg.h"
+#include "stm8s_rst.h"
+#include "stm8s_spi.h"
+#include "stm8s_tim1.h"
+#if !defined(STM8S903) || !defined(STM8AF622x)
+ #include "stm8s_tim2.h"
+#endif /* (STM8S903) || (STM8AF622x) */
+#if defined(STM8S208) || defined(STM8S207) || defined(STM8S007) ||defined(STM8S105) ||\
+ defined(STM8S005) || defined (STM8AF52Ax) || defined (STM8AF62Ax) || defined (STM8AF626x)
+ #include "stm8s_tim3.h"
+#endif /* (STM8S208) ||defined(STM8S207) || defined(STM8S007) ||defined(STM8S105) */
+#if !defined(STM8S903) || !defined(STM8AF622x)
+ #include "stm8s_tim4.h"
+#endif /* (STM8S903) || (STM8AF622x) */
+#if defined(STM8S903) || defined(STM8AF622x)
+ #include "stm8s_tim5.h"
+ #include "stm8s_tim6.h"
+#endif /* (STM8S903) || (STM8AF622x) */
+#if defined(STM8S208) ||defined(STM8S207) || defined(STM8S007) ||defined(STM8S103) ||\
+ defined(STM8S003) || defined(STM8S903) || defined (STM8AF52Ax) || defined (STM8AF62Ax)
+ #include "stm8s_uart1.h"
+#endif /* (STM8S208) || (STM8S207) || (STM8S103) || (STM8S903) || (STM8AF52Ax) || (STM8AF62Ax) */
+#if defined(STM8S105) || defined(STM8S005) || defined (STM8AF626x)
+ #include "stm8s_uart2.h"
+#endif /* (STM8S105) || (STM8AF626x) */
+#if defined(STM8S208) ||defined(STM8S207) || defined(STM8S007) || defined (STM8AF52Ax) ||\
+ defined (STM8AF62Ax)
+ #include "stm8s_uart3.h"
+#endif /* STM8S208 || STM8S207 || STM8AF52Ax || STM8AF62Ax */
+#if defined(STM8AF622x)
+ #include "stm8s_uart4.h"
+#endif /* (STM8AF622x) */
+#include "stm8s_wwdg.h"
+
+/* Exported types ------------------------------------------------------------*/
+/* Exported constants --------------------------------------------------------*/
+/* Uncomment the line below to expanse the "assert_param" macro in the
+ Standard Peripheral Library drivers code */
+#define USE_FULL_ASSERT (1)
+
+/* Exported macro ------------------------------------------------------------*/
+#ifdef USE_FULL_ASSERT
+
+/**
+ * @brief The assert_param macro is used for function's parameters check.
+ * @param expr: If expr is false, it calls assert_failed function
+ * which reports the name of the source file and the source
+ * line number of the call that failed.
+ * If expr is true, it returns no value.
+ * @retval : None
+ */
+#define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))
+/* Exported functions ------------------------------------------------------- */
+void assert_failed(uint8_t* file, uint32_t line);
+#else
+#define assert_param(expr) ((void)0)
+#endif /* USE_FULL_ASSERT */
+
+#endif /* __STM8S_CONF_H */
+
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/blink/stm8s_it.h b/blink/stm8s_it.h
new file mode 100644
index 0000000..c5779ec
--- /dev/null
+++ b/blink/stm8s_it.h
@@ -0,0 +1,122 @@
+/**
+ ******************************************************************************
+ * @file stm8s_it.h
+ * @author MCD Application Team
+ * @version V2.2.0
+ * @date 30-September-2014
+ * @brief This file contains the headers of the interrupt handlers
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>&copy; COPYRIGHT 2014 STMicroelectronics</center></h2>
+ *
+ * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
+ * You may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.st.com/software_license_agreement_liberty_v2
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ ******************************************************************************
+ */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __STM8S_IT_H
+#define __STM8S_IT_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm8s.h"
+
+/* Exported types ------------------------------------------------------------*/
+/* Exported constants --------------------------------------------------------*/
+/* Exported macro ------------------------------------------------------------*/
+/* Exported functions ------------------------------------------------------- */
+#ifdef _COSMIC_
+ void _stext(void); /* RESET startup routine */
+ INTERRUPT void NonHandledInterrupt(void);
+#endif /* _COSMIC_ */
+
+#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+ INTERRUPT void CLK_IRQHandler(void); /* CLOCK */
+ INTERRUPT void EXTI_PORTA_IRQHandler(void); /* EXTI PORTA */
+ INTERRUPT void EXTI_PORTB_IRQHandler(void); /* EXTI PORTB */
+ INTERRUPT void EXTI_PORTC_IRQHandler(void); /* EXTI PORTC */
+ INTERRUPT void EXTI_PORTD_IRQHandler(void); /* EXTI PORTD */
+ INTERRUPT void EXTI_PORTE_IRQHandler(void); /* EXTI PORTE */
+
+#if defined(STM8S903) || defined(STM8AF622x)
+ INTERRUPT void EXTI_PORTF_IRQHandler(void); /* EXTI PORTF */
+#endif /* (STM8S903) || (STM8AF622x) */
+
+#if defined (STM8S208) || defined (STM8AF52Ax)
+ INTERRUPT void CAN_RX_IRQHandler(void); /* CAN RX */
+ INTERRUPT void CAN_TX_IRQHandler(void); /* CAN TX/ER/SC */
+#endif /* (STM8S208) || (STM8AF52Ax) */
+
+ INTERRUPT void SPI_IRQHandler(void); /* SPI */
+ INTERRUPT void TIM1_CAP_COM_IRQHandler(void); /* TIM1 CAP/COM */
+ INTERRUPT void TIM1_UPD_OVF_TRG_BRK_IRQHandler(void); /* TIM1 UPD/OVF/TRG/BRK */
+
+#if defined(STM8S903) || defined(STM8AF622x)
+ INTERRUPT void TIM5_UPD_OVF_BRK_TRG_IRQHandler(void); /* TIM5 UPD/OVF/BRK/TRG */
+ INTERRUPT void TIM5_CAP_COM_IRQHandler(void); /* TIM5 CAP/COM */
+#else /* (STM8S208) || (STM8S207) || (STM8S105) || (STM8S103) || (STM8AF52Ax) || (STM8AF62Ax) || (STM8A626x) */
+ INTERRUPT void TIM2_UPD_OVF_BRK_IRQHandler(void); /* TIM2 UPD/OVF/BRK */
+ INTERRUPT void TIM2_CAP_COM_IRQHandler(void); /* TIM2 CAP/COM */
+#endif /* (STM8S903) || (STM8AF622x) */
+
+#if defined (STM8S208) || defined(STM8S207) || defined(STM8S007) || defined(STM8S105) || \
+ defined(STM8S005) || defined (STM8AF52Ax) || defined (STM8AF62Ax) || defined (STM8AF626x)
+ INTERRUPT void TIM3_UPD_OVF_BRK_IRQHandler(void); /* TIM3 UPD/OVF/BRK */
+ INTERRUPT void TIM3_CAP_COM_IRQHandler(void); /* TIM3 CAP/COM */
+#endif /* (STM8S208) || (STM8S207) || (STM8S105) || (STM8AF52Ax) || (STM8AF62Ax) || (STM8A626x) */
+
+#if defined (STM8S208) || defined(STM8S207) || defined(STM8S007) || defined(STM8S103) || \
+ defined(STM8S003) || defined (STM8AF52Ax) || defined (STM8AF62Ax) || defined (STM8S903)
+ INTERRUPT void UART1_TX_IRQHandler(void); /* UART1 TX */
+ INTERRUPT void UART1_RX_IRQHandler(void); /* UART1 RX */
+#endif /* (STM8S208) || (STM8S207) || (STM8S903) || (STM8S103) || (STM8AF52Ax) || (STM8AF62Ax) */
+
+#if defined (STM8AF622x)
+ INTERRUPT void UART4_TX_IRQHandler(void); /* UART4 TX */
+ INTERRUPT void UART4_RX_IRQHandler(void); /* UART4 RX */
+#endif /* (STM8AF622x) */
+
+ INTERRUPT void I2C_IRQHandler(void); /* I2C */
+
+#if defined(STM8S105) || defined(STM8S005) || defined (STM8AF626x)
+ INTERRUPT void UART2_RX_IRQHandler(void); /* UART2 RX */
+ INTERRUPT void UART2_TX_IRQHandler(void); /* UART2 TX */
+#endif /* (STM8S105) || (STM8AF626x) */
+
+#if defined(STM8S207) || defined(STM8S007) || defined(STM8S208) || defined (STM8AF52Ax) || defined (STM8AF62Ax)
+ INTERRUPT void UART3_RX_IRQHandler(void); /* UART3 RX */
+ INTERRUPT void UART3_TX_IRQHandler(void); /* UART3 TX */
+#endif /* (STM8S207) || (STM8S208) || (STM8AF62Ax) || (STM8AF52Ax) */
+
+#if defined(STM8S207) || defined(STM8S007) || defined(STM8S208) || defined (STM8AF52Ax) || defined (STM8AF62Ax)
+ INTERRUPT void ADC2_IRQHandler(void); /* ADC2 */
+#else /* (STM8S105) || (STM8S103) || (STM8S903) || (STM8AF622x) */
+ INTERRUPT void ADC1_IRQHandler(void); /* ADC1 */
+#endif /* (STM8S207) || (STM8S208) || (STM8AF62Ax) || (STM8AF52Ax) */
+
+#if defined(STM8S903) || defined(STM8AF622x)
+ INTERRUPT void TIM6_UPD_OVF_TRG_IRQHandler(void); /* TIM6 UPD/OVF/TRG */
+#else /* (STM8S208) || (STM8S207) || (STM8S105) || (STM8S103) || (STM8AF62Ax) || (STM8AF52Ax) || (STM8AF626x) */
+ INTERRUPT void TIM4_UPD_OVF_IRQHandler(void); /* TIM4 UPD/OVF */
+#endif /* (STM8S903) || (STM8AF622x) */
+ INTERRUPT void EEPROM_EEC_IRQHandler(void); /* EEPROM ECC CORRECTION */
+#endif /* _RAISONANCE_ */
+
+#endif /* __STM8S_IT_H */
+
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/contrib/Makefile b/contrib/Makefile
new file mode 100644
index 0000000..41e5352
--- /dev/null
+++ b/contrib/Makefile
@@ -0,0 +1,37 @@
+##
+## spreadspace stm8 utils
+##
+##
+## Copyright (C) 2017 Christian Pointner <equinox@spreadspace.org>
+##
+## This file is part of spreadspace stm8 utils.
+##
+## spreadspace stm8 utils is free software: you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation, either version 3 of the License, or
+## any later version.
+##
+## spreadspace stm8 utils is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with spreadspace stm8 utils. If not, see <http://www.gnu.org/licenses/>.
+##
+
+all: download-stdperiph update-stm8flash
+
+download-stdperiph: stsw-stm8069.zip
+
+stsw-stm8069.zip:
+ wget "http://www.st.com/st-web-ui/static/active/en/st_prod_software_internet/resource/technical/software/firmware/stsw-stm8069.zip" -O "$@"
+ unzip $@
+ cd STM8S_StdPeriph_Lib; patch -p1 < ../STM8_SPL_v2.2.0_SDCC.patch
+
+.stm8flash.prepared:
+ git clone https://github.com/vdudouyt/stm8flash.git
+ touch $@
+
+update-stm8flash: .stm8flash.prepared
+ cd stm8flash; git pull; make
diff --git a/contrib/STM8_SPL_v2.2.0_SDCC.patch b/contrib/STM8_SPL_v2.2.0_SDCC.patch
new file mode 100644
index 0000000..806790c
--- /dev/null
+++ b/contrib/STM8_SPL_v2.2.0_SDCC.patch
@@ -0,0 +1,21738 @@
+diff -rupN STM8S_SPL_2.2.0/Doxyfile STM8S_SPL_2.2.0_SDCC/Doxyfile
+--- STM8S_SPL_2.2.0/Doxyfile 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Doxyfile 2015-02-16 21:07:38.000000000 +0100
+@@ -0,0 +1,2381 @@
++# Doxyfile 1.8.7
++
++# This file describes the settings to be used by the documentation system
++# doxygen (www.doxygen.org) for a project.
++#
++# All text after a double hash (##) is considered a comment and is placed in
++# front of the TAG it is preceding.
++#
++# All text after a single hash (#) is considered a comment and will be ignored.
++# The format is:
++# TAG = value [value, ...]
++# For lists, items can also be appended using:
++# TAG += value [value, ...]
++# Values that contain spaces should be placed between quotes (\" \").
++
++#---------------------------------------------------------------------------
++# Project related configuration options
++#---------------------------------------------------------------------------
++
++# This tag specifies the encoding used for all characters in the config file
++# that follow. The default is UTF-8 which is also the encoding used for all text
++# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
++# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
++# for the list of possible encodings.
++# The default value is: UTF-8.
++
++DOXYFILE_ENCODING = UTF-8
++
++# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
++# double-quotes, unless you are using Doxywizard) that should identify the
++# project for which the documentation is generated. This name is used in the
++# title of most generated pages and in a few other places.
++# The default value is: My Project.
++
++PROJECT_NAME = "STM8 Standard Peripheral Libary"
++
++# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
++# could be handy for archiving the generated documentation or if some version
++# control system is used.
++
++PROJECT_NUMBER = 2.2.0
++
++# Using the PROJECT_BRIEF tag one can provide an optional one line description
++# for a project that appears at the top of each page and should give viewer a
++# quick idea about the purpose of the project. Keep the description short.
++
++PROJECT_BRIEF =
++
++# With the PROJECT_LOGO tag one can specify an logo or icon that is included in
++# the documentation. The maximum height of the logo should not exceed 55 pixels
++# and the maximum width should not exceed 200 pixels. Doxygen will copy the logo
++# to the output directory.
++
++PROJECT_LOGO = ./_htmresc/logo.bmp
++
++# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
++# into which the generated documentation will be written. If a relative path is
++# entered, it will be relative to the location where doxygen was started. If
++# left blank the current directory will be used.
++
++OUTPUT_DIRECTORY = ./doxygen
++
++# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub-
++# directories (in 2 levels) under the output directory of each output format and
++# will distribute the generated files over these directories. Enabling this
++# option can be useful when feeding doxygen a huge amount of source files, where
++# putting all generated files in the same directory would otherwise causes
++# performance problems for the file system.
++# The default value is: NO.
++
++CREATE_SUBDIRS = YES
++
++# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
++# characters to appear in the names of generated files. If set to NO, non-ASCII
++# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
++# U+3044.
++# The default value is: NO.
++
++ALLOW_UNICODE_NAMES = YES
++
++# The OUTPUT_LANGUAGE tag is used to specify the language in which all
++# documentation generated by doxygen is written. Doxygen will use this
++# information to generate all constant output in the proper language.
++# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
++# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
++# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
++# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
++# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
++# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
++# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
++# Ukrainian and Vietnamese.
++# The default value is: English.
++
++OUTPUT_LANGUAGE = English
++
++# If the BRIEF_MEMBER_DESC tag is set to YES doxygen will include brief member
++# descriptions after the members that are listed in the file and class
++# documentation (similar to Javadoc). Set to NO to disable this.
++# The default value is: YES.
++
++BRIEF_MEMBER_DESC = YES
++
++# If the REPEAT_BRIEF tag is set to YES doxygen will prepend the brief
++# description of a member or function before the detailed description
++#
++# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
++# brief descriptions will be completely suppressed.
++# The default value is: YES.
++
++REPEAT_BRIEF = YES
++
++# This tag implements a quasi-intelligent brief description abbreviator that is
++# used to form the text in various listings. Each string in this list, if found
++# as the leading text of the brief description, will be stripped from the text
++# and the result, after processing the whole list, is used as the annotated
++# text. Otherwise, the brief description is used as-is. If left blank, the
++# following values are used ($name is automatically replaced with the name of
++# the entity):The $name class, The $name widget, The $name file, is, provides,
++# specifies, contains, represents, a, an and the.
++
++ABBREVIATE_BRIEF = "The $name class" \
++ "The $name widget" \
++ "The $name file" \
++ is \
++ provides \
++ specifies \
++ contains \
++ represents \
++ a \
++ an \
++ the
++
++# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
++# doxygen will generate a detailed section even if there is only a brief
++# description.
++# The default value is: NO.
++
++ALWAYS_DETAILED_SEC = NO
++
++# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
++# inherited members of a class in the documentation of that class as if those
++# members were ordinary class members. Constructors, destructors and assignment
++# operators of the base classes will not be shown.
++# The default value is: NO.
++
++INLINE_INHERITED_MEMB = NO
++
++# If the FULL_PATH_NAMES tag is set to YES doxygen will prepend the full path
++# before files name in the file list and in the header files. If set to NO the
++# shortest path that makes the file name unique will be used
++# The default value is: YES.
++
++FULL_PATH_NAMES = YES
++
++# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
++# Stripping is only done if one of the specified strings matches the left-hand
++# part of the path. The tag can be used to show relative paths in the file list.
++# If left blank the directory from which doxygen is run is used as the path to
++# strip.
++#
++# Note that you can specify absolute paths here, but also relative paths, which
++# will be relative from the directory where doxygen is started.
++# This tag requires that the tag FULL_PATH_NAMES is set to YES.
++
++STRIP_FROM_PATH =
++
++# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
++# path mentioned in the documentation of a class, which tells the reader which
++# header file to include in order to use a class. If left blank only the name of
++# the header file containing the class definition is used. Otherwise one should
++# specify the list of include paths that are normally passed to the compiler
++# using the -I flag.
++
++STRIP_FROM_INC_PATH =
++
++# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
++# less readable) file names. This can be useful is your file systems doesn't
++# support long names like on DOS, Mac, or CD-ROM.
++# The default value is: NO.
++
++SHORT_NAMES = NO
++
++# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
++# first line (until the first dot) of a Javadoc-style comment as the brief
++# description. If set to NO, the Javadoc-style will behave just like regular Qt-
++# style comments (thus requiring an explicit @brief command for a brief
++# description.)
++# The default value is: NO.
++
++JAVADOC_AUTOBRIEF = NO
++
++# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
++# line (until the first dot) of a Qt-style comment as the brief description. If
++# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
++# requiring an explicit \brief command for a brief description.)
++# The default value is: NO.
++
++QT_AUTOBRIEF = NO
++
++# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
++# multi-line C++ special comment block (i.e. a block of //! or /// comments) as
++# a brief description. This used to be the default behavior. The new default is
++# to treat a multi-line C++ comment block as a detailed description. Set this
++# tag to YES if you prefer the old behavior instead.
++#
++# Note that setting this tag to YES also means that rational rose comments are
++# not recognized any more.
++# The default value is: NO.
++
++MULTILINE_CPP_IS_BRIEF = NO
++
++# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
++# documentation from any documented member that it re-implements.
++# The default value is: YES.
++
++INHERIT_DOCS = YES
++
++# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce a
++# new page for each member. If set to NO, the documentation of a member will be
++# part of the file/class/namespace that contains it.
++# The default value is: NO.
++
++SEPARATE_MEMBER_PAGES = NO
++
++# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
++# uses this value to replace tabs by spaces in code fragments.
++# Minimum value: 1, maximum value: 16, default value: 4.
++
++TAB_SIZE = 4
++
++# This tag can be used to specify a number of aliases that act as commands in
++# the documentation. An alias has the form:
++# name=value
++# For example adding
++# "sideeffect=@par Side Effects:\n"
++# will allow you to put the command \sideeffect (or @sideeffect) in the
++# documentation, which will result in a user-defined paragraph with heading
++# "Side Effects:". You can put \n's in the value part of an alias to insert
++# newlines.
++
++ALIASES =
++
++# This tag can be used to specify a number of word-keyword mappings (TCL only).
++# A mapping has the form "name=value". For example adding "class=itcl::class"
++# will allow you to use the command class in the itcl::class meaning.
++
++TCL_SUBST =
++
++# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
++# only. Doxygen will then generate output that is more tailored for C. For
++# instance, some of the names that are used will be different. The list of all
++# members will be omitted, etc.
++# The default value is: NO.
++
++OPTIMIZE_OUTPUT_FOR_C = YES
++
++# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
++# Python sources only. Doxygen will then generate output that is more tailored
++# for that language. For instance, namespaces will be presented as packages,
++# qualified scopes will look different, etc.
++# The default value is: NO.
++
++OPTIMIZE_OUTPUT_JAVA = NO
++
++# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
++# sources. Doxygen will then generate output that is tailored for Fortran.
++# The default value is: NO.
++
++OPTIMIZE_FOR_FORTRAN = NO
++
++# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
++# sources. Doxygen will then generate output that is tailored for VHDL.
++# The default value is: NO.
++
++OPTIMIZE_OUTPUT_VHDL = NO
++
++# Doxygen selects the parser to use depending on the extension of the files it
++# parses. With this tag you can assign which parser to use for a given
++# extension. Doxygen has a built-in mapping, but you can override or extend it
++# using this tag. The format is ext=language, where ext is a file extension, and
++# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
++# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
++# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
++# Fortran. In the later case the parser tries to guess whether the code is fixed
++# or free formatted code, this is the default for Fortran type files), VHDL. For
++# instance to make doxygen treat .inc files as Fortran files (default is PHP),
++# and .f files as C (default is Fortran), use: inc=Fortran f=C.
++#
++# Note For files without extension you can use no_extension as a placeholder.
++#
++# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
++# the files are not read by doxygen.
++
++EXTENSION_MAPPING =
++
++# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
++# according to the Markdown format, which allows for more readable
++# documentation. See http://daringfireball.net/projects/markdown/ for details.
++# The output of markdown processing is further processed by doxygen, so you can
++# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
++# case of backward compatibilities issues.
++# The default value is: YES.
++
++MARKDOWN_SUPPORT = YES
++
++# When enabled doxygen tries to link words that correspond to documented
++# classes, or namespaces to their corresponding documentation. Such a link can
++# be prevented in individual cases by by putting a % sign in front of the word
++# or globally by setting AUTOLINK_SUPPORT to NO.
++# The default value is: YES.
++
++AUTOLINK_SUPPORT = YES
++
++# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
++# to include (a tag file for) the STL sources as input, then you should set this
++# tag to YES in order to let doxygen match functions declarations and
++# definitions whose arguments contain STL classes (e.g. func(std::string);
++# versus func(std::string) {}). This also make the inheritance and collaboration
++# diagrams that involve STL classes more complete and accurate.
++# The default value is: NO.
++
++BUILTIN_STL_SUPPORT = NO
++
++# If you use Microsoft's C++/CLI language, you should set this option to YES to
++# enable parsing support.
++# The default value is: NO.
++
++CPP_CLI_SUPPORT = NO
++
++# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
++# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
++# will parse them like normal C++ but will assume all classes use public instead
++# of private inheritance when no explicit protection keyword is present.
++# The default value is: NO.
++
++SIP_SUPPORT = NO
++
++# For Microsoft's IDL there are propget and propput attributes to indicate
++# getter and setter methods for a property. Setting this option to YES will make
++# doxygen to replace the get and set methods by a property in the documentation.
++# This will only work if the methods are indeed getting or setting a simple
++# type. If this is not the case, or you want to show the methods anyway, you
++# should set this option to NO.
++# The default value is: YES.
++
++IDL_PROPERTY_SUPPORT = YES
++
++# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
++# tag is set to YES, then doxygen will reuse the documentation of the first
++# member in the group (if any) for the other members of the group. By default
++# all members of a group must be documented explicitly.
++# The default value is: NO.
++
++DISTRIBUTE_GROUP_DOC = NO
++
++# Set the SUBGROUPING tag to YES to allow class member groups of the same type
++# (for instance a group of public functions) to be put as a subgroup of that
++# type (e.g. under the Public Functions section). Set it to NO to prevent
++# subgrouping. Alternatively, this can be done per class using the
++# \nosubgrouping command.
++# The default value is: YES.
++
++SUBGROUPING = YES
++
++# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
++# are shown inside the group in which they are included (e.g. using \ingroup)
++# instead of on a separate page (for HTML and Man pages) or section (for LaTeX
++# and RTF).
++#
++# Note that this feature does not work in combination with
++# SEPARATE_MEMBER_PAGES.
++# The default value is: NO.
++
++INLINE_GROUPED_CLASSES = NO
++
++# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
++# with only public data fields or simple typedef fields will be shown inline in
++# the documentation of the scope in which they are defined (i.e. file,
++# namespace, or group documentation), provided this scope is documented. If set
++# to NO, structs, classes, and unions are shown on a separate page (for HTML and
++# Man pages) or section (for LaTeX and RTF).
++# The default value is: NO.
++
++INLINE_SIMPLE_STRUCTS = NO
++
++# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
++# enum is documented as struct, union, or enum with the name of the typedef. So
++# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
++# with name TypeT. When disabled the typedef will appear as a member of a file,
++# namespace, or class. And the struct will be named TypeS. This can typically be
++# useful for C code in case the coding convention dictates that all compound
++# types are typedef'ed and only the typedef is referenced, never the tag name.
++# The default value is: NO.
++
++TYPEDEF_HIDES_STRUCT = NO
++
++# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
++# cache is used to resolve symbols given their name and scope. Since this can be
++# an expensive process and often the same symbol appears multiple times in the
++# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
++# doxygen will become slower. If the cache is too large, memory is wasted. The
++# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
++# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
++# symbols. At the end of a run doxygen will report the cache usage and suggest
++# the optimal cache size from a speed point of view.
++# Minimum value: 0, maximum value: 9, default value: 0.
++
++LOOKUP_CACHE_SIZE = 0
++
++#---------------------------------------------------------------------------
++# Build related configuration options
++#---------------------------------------------------------------------------
++
++# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
++# documentation are documented, even if no documentation was available. Private
++# class members and static file members will be hidden unless the
++# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
++# Note: This will also disable the warnings about undocumented members that are
++# normally produced when WARNINGS is set to YES.
++# The default value is: NO.
++
++EXTRACT_ALL = NO
++
++# If the EXTRACT_PRIVATE tag is set to YES all private members of a class will
++# be included in the documentation.
++# The default value is: NO.
++
++EXTRACT_PRIVATE = NO
++
++# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal
++# scope will be included in the documentation.
++# The default value is: NO.
++
++EXTRACT_PACKAGE = NO
++
++# If the EXTRACT_STATIC tag is set to YES all static members of a file will be
++# included in the documentation.
++# The default value is: NO.
++
++EXTRACT_STATIC = NO
++
++# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined
++# locally in source files will be included in the documentation. If set to NO
++# only classes defined in header files are included. Does not have any effect
++# for Java sources.
++# The default value is: YES.
++
++EXTRACT_LOCAL_CLASSES = YES
++
++# This flag is only useful for Objective-C code. When set to YES local methods,
++# which are defined in the implementation section but not in the interface are
++# included in the documentation. If set to NO only methods in the interface are
++# included.
++# The default value is: NO.
++
++EXTRACT_LOCAL_METHODS = NO
++
++# If this flag is set to YES, the members of anonymous namespaces will be
++# extracted and appear in the documentation as a namespace called
++# 'anonymous_namespace{file}', where file will be replaced with the base name of
++# the file that contains the anonymous namespace. By default anonymous namespace
++# are hidden.
++# The default value is: NO.
++
++EXTRACT_ANON_NSPACES = NO
++
++# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
++# undocumented members inside documented classes or files. If set to NO these
++# members will be included in the various overviews, but no documentation
++# section is generated. This option has no effect if EXTRACT_ALL is enabled.
++# The default value is: NO.
++
++HIDE_UNDOC_MEMBERS = NO
++
++# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
++# undocumented classes that are normally visible in the class hierarchy. If set
++# to NO these classes will be included in the various overviews. This option has
++# no effect if EXTRACT_ALL is enabled.
++# The default value is: NO.
++
++HIDE_UNDOC_CLASSES = NO
++
++# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
++# (class|struct|union) declarations. If set to NO these declarations will be
++# included in the documentation.
++# The default value is: NO.
++
++HIDE_FRIEND_COMPOUNDS = NO
++
++# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
++# documentation blocks found inside the body of a function. If set to NO these
++# blocks will be appended to the function's detailed documentation block.
++# The default value is: NO.
++
++HIDE_IN_BODY_DOCS = NO
++
++# The INTERNAL_DOCS tag determines if documentation that is typed after a
++# \internal command is included. If the tag is set to NO then the documentation
++# will be excluded. Set it to YES to include the internal documentation.
++# The default value is: NO.
++
++INTERNAL_DOCS = NO
++
++# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
++# names in lower-case letters. If set to YES upper-case letters are also
++# allowed. This is useful if you have classes or files whose names only differ
++# in case and if your file system supports case sensitive file names. Windows
++# and Mac users are advised to set this option to NO.
++# The default value is: system dependent.
++
++CASE_SENSE_NAMES = NO
++
++# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
++# their full class and namespace scopes in the documentation. If set to YES the
++# scope will be hidden.
++# The default value is: NO.
++
++HIDE_SCOPE_NAMES = YES
++
++# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
++# the files that are included by a file in the documentation of that file.
++# The default value is: YES.
++
++SHOW_INCLUDE_FILES = YES
++
++# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
++# grouped member an include statement to the documentation, telling the reader
++# which file to include in order to use the member.
++# The default value is: NO.
++
++SHOW_GROUPED_MEMB_INC = NO
++
++# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
++# files with double quotes in the documentation rather than with sharp brackets.
++# The default value is: NO.
++
++FORCE_LOCAL_INCLUDES = NO
++
++# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
++# documentation for inline members.
++# The default value is: YES.
++
++INLINE_INFO = YES
++
++# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
++# (detailed) documentation of file and class members alphabetically by member
++# name. If set to NO the members will appear in declaration order.
++# The default value is: YES.
++
++SORT_MEMBER_DOCS = YES
++
++# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
++# descriptions of file, namespace and class members alphabetically by member
++# name. If set to NO the members will appear in declaration order. Note that
++# this will also influence the order of the classes in the class list.
++# The default value is: NO.
++
++SORT_BRIEF_DOCS = NO
++
++# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
++# (brief and detailed) documentation of class members so that constructors and
++# destructors are listed first. If set to NO the constructors will appear in the
++# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
++# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
++# member documentation.
++# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
++# detailed member documentation.
++# The default value is: NO.
++
++SORT_MEMBERS_CTORS_1ST = NO
++
++# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
++# of group names into alphabetical order. If set to NO the group names will
++# appear in their defined order.
++# The default value is: NO.
++
++SORT_GROUP_NAMES = NO
++
++# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
++# fully-qualified names, including namespaces. If set to NO, the class list will
++# be sorted only by class name, not including the namespace part.
++# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
++# Note: This option applies only to the class list, not to the alphabetical
++# list.
++# The default value is: NO.
++
++SORT_BY_SCOPE_NAME = NO
++
++# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
++# type resolution of all parameters of a function it will reject a match between
++# the prototype and the implementation of a member function even if there is
++# only one candidate or it is obvious which candidate to choose by doing a
++# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
++# accept a match between prototype and implementation in such cases.
++# The default value is: NO.
++
++STRICT_PROTO_MATCHING = NO
++
++# The GENERATE_TODOLIST tag can be used to enable ( YES) or disable ( NO) the
++# todo list. This list is created by putting \todo commands in the
++# documentation.
++# The default value is: YES.
++
++GENERATE_TODOLIST = YES
++
++# The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the
++# test list. This list is created by putting \test commands in the
++# documentation.
++# The default value is: YES.
++
++GENERATE_TESTLIST = YES
++
++# The GENERATE_BUGLIST tag can be used to enable ( YES) or disable ( NO) the bug
++# list. This list is created by putting \bug commands in the documentation.
++# The default value is: YES.
++
++GENERATE_BUGLIST = YES
++
++# The GENERATE_DEPRECATEDLIST tag can be used to enable ( YES) or disable ( NO)
++# the deprecated list. This list is created by putting \deprecated commands in
++# the documentation.
++# The default value is: YES.
++
++GENERATE_DEPRECATEDLIST= YES
++
++# The ENABLED_SECTIONS tag can be used to enable conditional documentation
++# sections, marked by \if <section_label> ... \endif and \cond <section_label>
++# ... \endcond blocks.
++
++ENABLED_SECTIONS =
++
++# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
++# initial value of a variable or macro / define can have for it to appear in the
++# documentation. If the initializer consists of more lines than specified here
++# it will be hidden. Use a value of 0 to hide initializers completely. The
++# appearance of the value of individual variables and macros / defines can be
++# controlled using \showinitializer or \hideinitializer command in the
++# documentation regardless of this setting.
++# Minimum value: 0, maximum value: 10000, default value: 30.
++
++MAX_INITIALIZER_LINES = 30
++
++# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
++# the bottom of the documentation of classes and structs. If set to YES the list
++# will mention the files that were used to generate the documentation.
++# The default value is: YES.
++
++SHOW_USED_FILES = YES
++
++# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
++# will remove the Files entry from the Quick Index and from the Folder Tree View
++# (if specified).
++# The default value is: YES.
++
++SHOW_FILES = YES
++
++# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
++# page. This will remove the Namespaces entry from the Quick Index and from the
++# Folder Tree View (if specified).
++# The default value is: YES.
++
++SHOW_NAMESPACES = YES
++
++# The FILE_VERSION_FILTER tag can be used to specify a program or script that
++# doxygen should invoke to get the current version for each file (typically from
++# the version control system). Doxygen will invoke the program by executing (via
++# popen()) the command command input-file, where command is the value of the
++# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
++# by doxygen. Whatever the program writes to standard output is used as the file
++# version. For an example see the documentation.
++
++FILE_VERSION_FILTER =
++
++# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
++# by doxygen. The layout file controls the global structure of the generated
++# output files in an output format independent way. To create the layout file
++# that represents doxygen's defaults, run doxygen with the -l option. You can
++# optionally specify a file name after the option, if omitted DoxygenLayout.xml
++# will be used as the name of the layout file.
++#
++# Note that if you run doxygen from a directory containing a file called
++# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
++# tag is left empty.
++
++LAYOUT_FILE =
++
++# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
++# the reference definitions. This must be a list of .bib files. The .bib
++# extension is automatically appended if omitted. This requires the bibtex tool
++# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
++# For LaTeX the style of the bibliography can be controlled using
++# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
++# search path. Do not use file names with spaces, bibtex cannot handle them. See
++# also \cite for info how to create references.
++
++CITE_BIB_FILES =
++
++#---------------------------------------------------------------------------
++# Configuration options related to warning and progress messages
++#---------------------------------------------------------------------------
++
++# The QUIET tag can be used to turn on/off the messages that are generated to
++# standard output by doxygen. If QUIET is set to YES this implies that the
++# messages are off.
++# The default value is: NO.
++
++QUIET = NO
++
++# The WARNINGS tag can be used to turn on/off the warning messages that are
++# generated to standard error ( stderr) by doxygen. If WARNINGS is set to YES
++# this implies that the warnings are on.
++#
++# Tip: Turn warnings on while writing the documentation.
++# The default value is: YES.
++
++WARNINGS = YES
++
++# If the WARN_IF_UNDOCUMENTED tag is set to YES, then doxygen will generate
++# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
++# will automatically be disabled.
++# The default value is: YES.
++
++WARN_IF_UNDOCUMENTED = YES
++
++# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
++# potential errors in the documentation, such as not documenting some parameters
++# in a documented function, or documenting parameters that don't exist or using
++# markup commands wrongly.
++# The default value is: YES.
++
++WARN_IF_DOC_ERROR = YES
++
++# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
++# are documented, but have no documentation for their parameters or return
++# value. If set to NO doxygen will only warn about wrong or incomplete parameter
++# documentation, but not about the absence of documentation.
++# The default value is: NO.
++
++WARN_NO_PARAMDOC = NO
++
++# The WARN_FORMAT tag determines the format of the warning messages that doxygen
++# can produce. The string should contain the $file, $line, and $text tags, which
++# will be replaced by the file and line number from which the warning originated
++# and the warning text. Optionally the format may contain $version, which will
++# be replaced by the version of the file (if it could be obtained via
++# FILE_VERSION_FILTER)
++# The default value is: $file:$line: $text.
++
++WARN_FORMAT = "$file:$line: $text"
++
++# The WARN_LOGFILE tag can be used to specify a file to which warning and error
++# messages should be written. If left blank the output is written to standard
++# error (stderr).
++
++WARN_LOGFILE =
++
++#---------------------------------------------------------------------------
++# Configuration options related to the input files
++#---------------------------------------------------------------------------
++
++# The INPUT tag is used to specify the files and/or directories that contain
++# documented source files. You may enter file names like myfile.cpp or
++# directories like /usr/src/myproject. Separate the files or directories with
++# spaces.
++# Note: If this tag is empty the current directory is searched.
++
++INPUT = ./Libraries \
++ ./Utilities
++
++# This tag can be used to specify the character encoding of the source files
++# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
++# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
++# documentation (see: http://www.gnu.org/software/libiconv) for the list of
++# possible encodings.
++# The default value is: UTF-8.
++
++INPUT_ENCODING = UTF-8
++
++# If the value of the INPUT tag contains directories, you can use the
++# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
++# *.h) to filter out the source-files in the directories. If left blank the
++# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii,
++# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp,
++# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown,
++# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
++# *.qsf, *.as and *.js.
++
++FILE_PATTERNS = *.c \
++ *.cc \
++ *.cxx \
++ *.cpp \
++ *.c++ \
++ *.java \
++ *.ii \
++ *.ixx \
++ *.ipp \
++ *.i++ \
++ *.inl \
++ *.idl \
++ *.ddl \
++ *.odl \
++ *.h \
++ *.hh \
++ *.hxx \
++ *.hpp \
++ *.h++ \
++ *.cs \
++ *.d \
++ *.php \
++ *.php4 \
++ *.php5 \
++ *.phtml \
++ *.inc \
++ *.m \
++ *.markdown \
++ *.md \
++ *.mm \
++ *.dox \
++ *.py \
++ *.f90 \
++ *.f \
++ *.for \
++ *.tcl \
++ *.vhd \
++ *.vhdl \
++ *.ucf \
++ *.qsf \
++ *.as \
++ *.js
++
++# The RECURSIVE tag can be used to specify whether or not subdirectories should
++# be searched for input files as well.
++# The default value is: NO.
++
++RECURSIVE = YES
++
++# The EXCLUDE tag can be used to specify files and/or directories that should be
++# excluded from the INPUT source files. This way you can easily exclude a
++# subdirectory from a directory tree whose root is specified with the INPUT tag.
++#
++# Note that relative paths are relative to the directory from which doxygen is
++# run.
++
++EXCLUDE =
++
++# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
++# directories that are symbolic links (a Unix file system feature) are excluded
++# from the input.
++# The default value is: NO.
++
++EXCLUDE_SYMLINKS = NO
++
++# If the value of the INPUT tag contains directories, you can use the
++# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
++# certain files from those directories.
++#
++# Note that the wildcards are matched against the file with absolute path, so to
++# exclude all test directories for example use the pattern */test/*
++
++EXCLUDE_PATTERNS =
++
++# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
++# (namespaces, classes, functions, etc.) that should be excluded from the
++# output. The symbol name can be a fully qualified name, a word, or if the
++# wildcard * is used, a substring. Examples: ANamespace, AClass,
++# AClass::ANamespace, ANamespace::*Test
++#
++# Note that the wildcards are matched against the file with absolute path, so to
++# exclude all test directories use the pattern */test/*
++
++EXCLUDE_SYMBOLS =
++
++# The EXAMPLE_PATH tag can be used to specify one or more files or directories
++# that contain example code fragments that are included (see the \include
++# command).
++
++EXAMPLE_PATH =
++
++# If the value of the EXAMPLE_PATH tag contains directories, you can use the
++# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
++# *.h) to filter out the source-files in the directories. If left blank all
++# files are included.
++
++EXAMPLE_PATTERNS = *
++
++# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
++# searched for input files to be used with the \include or \dontinclude commands
++# irrespective of the value of the RECURSIVE tag.
++# The default value is: NO.
++
++EXAMPLE_RECURSIVE = NO
++
++# The IMAGE_PATH tag can be used to specify one or more files or directories
++# that contain images that are to be included in the documentation (see the
++# \image command).
++
++IMAGE_PATH =
++
++# The INPUT_FILTER tag can be used to specify a program that doxygen should
++# invoke to filter for each input file. Doxygen will invoke the filter program
++# by executing (via popen()) the command:
++#
++# <filter> <input-file>
++#
++# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
++# name of an input file. Doxygen will then use the output that the filter
++# program writes to standard output. If FILTER_PATTERNS is specified, this tag
++# will be ignored.
++#
++# Note that the filter must not add or remove lines; it is applied before the
++# code is scanned, but not when the output code is generated. If lines are added
++# or removed, the anchors will not be placed correctly.
++
++INPUT_FILTER =
++
++# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
++# basis. Doxygen will compare the file name with each pattern and apply the
++# filter if there is a match. The filters are a list of the form: pattern=filter
++# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
++# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
++# patterns match the file name, INPUT_FILTER is applied.
++
++FILTER_PATTERNS =
++
++# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
++# INPUT_FILTER ) will also be used to filter the input files that are used for
++# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
++# The default value is: NO.
++
++FILTER_SOURCE_FILES = NO
++
++# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
++# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
++# it is also possible to disable source filtering for a specific pattern using
++# *.ext= (so without naming a filter).
++# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
++
++FILTER_SOURCE_PATTERNS =
++
++# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
++# is part of the input, its contents will be placed on the main page
++# (index.html). This can be useful if you have a project on for instance GitHub
++# and want to reuse the introduction page also for the doxygen output.
++
++USE_MDFILE_AS_MAINPAGE =
++
++#---------------------------------------------------------------------------
++# Configuration options related to source browsing
++#---------------------------------------------------------------------------
++
++# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
++# generated. Documented entities will be cross-referenced with these sources.
++#
++# Note: To get rid of all source code in the generated output, make sure that
++# also VERBATIM_HEADERS is set to NO.
++# The default value is: NO.
++
++SOURCE_BROWSER = YES
++
++# Setting the INLINE_SOURCES tag to YES will include the body of functions,
++# classes and enums directly into the documentation.
++# The default value is: NO.
++
++INLINE_SOURCES = YES
++
++# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
++# special comment blocks from generated source code fragments. Normal C, C++ and
++# Fortran comments will always remain visible.
++# The default value is: YES.
++
++STRIP_CODE_COMMENTS = YES
++
++# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
++# function all documented functions referencing it will be listed.
++# The default value is: NO.
++
++REFERENCED_BY_RELATION = NO
++
++# If the REFERENCES_RELATION tag is set to YES then for each documented function
++# all documented entities called/used by that function will be listed.
++# The default value is: NO.
++
++REFERENCES_RELATION = NO
++
++# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
++# to YES, then the hyperlinks from functions in REFERENCES_RELATION and
++# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
++# link to the documentation.
++# The default value is: YES.
++
++REFERENCES_LINK_SOURCE = YES
++
++# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
++# source code will show a tooltip with additional information such as prototype,
++# brief description and links to the definition and documentation. Since this
++# will make the HTML file larger and loading of large files a bit slower, you
++# can opt to disable this feature.
++# The default value is: YES.
++# This tag requires that the tag SOURCE_BROWSER is set to YES.
++
++SOURCE_TOOLTIPS = YES
++
++# If the USE_HTAGS tag is set to YES then the references to source code will
++# point to the HTML generated by the htags(1) tool instead of doxygen built-in
++# source browser. The htags tool is part of GNU's global source tagging system
++# (see http://www.gnu.org/software/global/global.html). You will need version
++# 4.8.6 or higher.
++#
++# To use it do the following:
++# - Install the latest version of global
++# - Enable SOURCE_BROWSER and USE_HTAGS in the config file
++# - Make sure the INPUT points to the root of the source tree
++# - Run doxygen as normal
++#
++# Doxygen will invoke htags (and that will in turn invoke gtags), so these
++# tools must be available from the command line (i.e. in the search path).
++#
++# The result: instead of the source browser generated by doxygen, the links to
++# source code will now point to the output of htags.
++# The default value is: NO.
++# This tag requires that the tag SOURCE_BROWSER is set to YES.
++
++USE_HTAGS = NO
++
++# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
++# verbatim copy of the header file for each class for which an include is
++# specified. Set to NO to disable this.
++# See also: Section \class.
++# The default value is: YES.
++
++VERBATIM_HEADERS = YES
++
++# If the CLANG_ASSISTED_PARSING tag is set to YES, then doxygen will use the
++# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the
++# cost of reduced performance. This can be particularly helpful with template
++# rich C++ code for which doxygen's built-in parser lacks the necessary type
++# information.
++# Note: The availability of this option depends on whether or not doxygen was
++# compiled with the --with-libclang option.
++# The default value is: NO.
++
++CLANG_ASSISTED_PARSING = NO
++
++# If clang assisted parsing is enabled you can provide the compiler with command
++# line options that you would normally use when invoking the compiler. Note that
++# the include paths will already be set by doxygen for the files and directories
++# specified with INPUT and INCLUDE_PATH.
++# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
++
++CLANG_OPTIONS =
++
++#---------------------------------------------------------------------------
++# Configuration options related to the alphabetical class index
++#---------------------------------------------------------------------------
++
++# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
++# compounds will be generated. Enable this if the project contains a lot of
++# classes, structs, unions or interfaces.
++# The default value is: YES.
++
++ALPHABETICAL_INDEX = YES
++
++# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
++# which the alphabetical index list will be split.
++# Minimum value: 1, maximum value: 20, default value: 5.
++# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
++
++COLS_IN_ALPHA_INDEX = 5
++
++# In case all classes in a project start with a common prefix, all classes will
++# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
++# can be used to specify a prefix (or a list of prefixes) that should be ignored
++# while generating the index headers.
++# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
++
++IGNORE_PREFIX =
++
++#---------------------------------------------------------------------------
++# Configuration options related to the HTML output
++#---------------------------------------------------------------------------
++
++# If the GENERATE_HTML tag is set to YES doxygen will generate HTML output
++# The default value is: YES.
++
++GENERATE_HTML = YES
++
++# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
++# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
++# it.
++# The default directory is: html.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++HTML_OUTPUT = html
++
++# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
++# generated HTML page (for example: .htm, .php, .asp).
++# The default value is: .html.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++HTML_FILE_EXTENSION = .html
++
++# The HTML_HEADER tag can be used to specify a user-defined HTML header file for
++# each generated HTML page. If the tag is left blank doxygen will generate a
++# standard header.
++#
++# To get valid HTML the header file that includes any scripts and style sheets
++# that doxygen needs, which is dependent on the configuration options used (e.g.
++# the setting GENERATE_TREEVIEW). It is highly recommended to start with a
++# default header using
++# doxygen -w html new_header.html new_footer.html new_stylesheet.css
++# YourConfigFile
++# and then modify the file new_header.html. See also section "Doxygen usage"
++# for information on how to generate the default header that doxygen normally
++# uses.
++# Note: The header is subject to change so you typically have to regenerate the
++# default header when upgrading to a newer version of doxygen. For a description
++# of the possible markers and block names see the documentation.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++HTML_HEADER =
++
++# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
++# generated HTML page. If the tag is left blank doxygen will generate a standard
++# footer. See HTML_HEADER for more information on how to generate a default
++# footer and what special commands can be used inside the footer. See also
++# section "Doxygen usage" for information on how to generate the default footer
++# that doxygen normally uses.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++HTML_FOOTER =
++
++# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
++# sheet that is used by each HTML page. It can be used to fine-tune the look of
++# the HTML output. If left blank doxygen will generate a default style sheet.
++# See also section "Doxygen usage" for information on how to generate the style
++# sheet that doxygen normally uses.
++# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
++# it is more robust and this tag (HTML_STYLESHEET) will in the future become
++# obsolete.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++HTML_STYLESHEET =
++
++# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional user-
++# defined cascading style sheet that is included after the standard style sheets
++# created by doxygen. Using this option one can overrule certain style aspects.
++# This is preferred over using HTML_STYLESHEET since it does not replace the
++# standard style sheet and is therefor more robust against future updates.
++# Doxygen will copy the style sheet file to the output directory. For an example
++# see the documentation.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++HTML_EXTRA_STYLESHEET =
++
++# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
++# other source files which should be copied to the HTML output directory. Note
++# that these files will be copied to the base HTML output directory. Use the
++# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
++# files. In the HTML_STYLESHEET file, use the file name only. Also note that the
++# files will be copied as-is; there are no commands or markers available.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++HTML_EXTRA_FILES =
++
++# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
++# will adjust the colors in the stylesheet and background images according to
++# this color. Hue is specified as an angle on a colorwheel, see
++# http://en.wikipedia.org/wiki/Hue for more information. For instance the value
++# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
++# purple, and 360 is red again.
++# Minimum value: 0, maximum value: 359, default value: 220.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++HTML_COLORSTYLE_HUE = 220
++
++# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
++# in the HTML output. For a value of 0 the output will use grayscales only. A
++# value of 255 will produce the most vivid colors.
++# Minimum value: 0, maximum value: 255, default value: 100.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++HTML_COLORSTYLE_SAT = 100
++
++# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
++# luminance component of the colors in the HTML output. Values below 100
++# gradually make the output lighter, whereas values above 100 make the output
++# darker. The value divided by 100 is the actual gamma applied, so 80 represents
++# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
++# change the gamma.
++# Minimum value: 40, maximum value: 240, default value: 80.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++HTML_COLORSTYLE_GAMMA = 80
++
++# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
++# page will contain the date and time when the page was generated. Setting this
++# to NO can help when comparing the output of multiple runs.
++# The default value is: YES.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++HTML_TIMESTAMP = YES
++
++# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
++# documentation will contain sections that can be hidden and shown after the
++# page has loaded.
++# The default value is: NO.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++HTML_DYNAMIC_SECTIONS = NO
++
++# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
++# shown in the various tree structured indices initially; the user can expand
++# and collapse entries dynamically later on. Doxygen will expand the tree to
++# such a level that at most the specified number of entries are visible (unless
++# a fully collapsed tree already exceeds this amount). So setting the number of
++# entries 1 will produce a full collapsed tree by default. 0 is a special value
++# representing an infinite number of entries and will result in a full expanded
++# tree by default.
++# Minimum value: 0, maximum value: 9999, default value: 100.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++HTML_INDEX_NUM_ENTRIES = 100
++
++# If the GENERATE_DOCSET tag is set to YES, additional index files will be
++# generated that can be used as input for Apple's Xcode 3 integrated development
++# environment (see: http://developer.apple.com/tools/xcode/), introduced with
++# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
++# Makefile in the HTML output directory. Running make will produce the docset in
++# that directory and running make install will install the docset in
++# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
++# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
++# for more information.
++# The default value is: NO.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++GENERATE_DOCSET = NO
++
++# This tag determines the name of the docset feed. A documentation feed provides
++# an umbrella under which multiple documentation sets from a single provider
++# (such as a company or product suite) can be grouped.
++# The default value is: Doxygen generated docs.
++# This tag requires that the tag GENERATE_DOCSET is set to YES.
++
++DOCSET_FEEDNAME = "Doxygen generated docs"
++
++# This tag specifies a string that should uniquely identify the documentation
++# set bundle. This should be a reverse domain-name style string, e.g.
++# com.mycompany.MyDocSet. Doxygen will append .docset to the name.
++# The default value is: org.doxygen.Project.
++# This tag requires that the tag GENERATE_DOCSET is set to YES.
++
++DOCSET_BUNDLE_ID = org.doxygen.Project
++
++# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
++# the documentation publisher. This should be a reverse domain-name style
++# string, e.g. com.mycompany.MyDocSet.documentation.
++# The default value is: org.doxygen.Publisher.
++# This tag requires that the tag GENERATE_DOCSET is set to YES.
++
++DOCSET_PUBLISHER_ID = org.doxygen.Publisher
++
++# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
++# The default value is: Publisher.
++# This tag requires that the tag GENERATE_DOCSET is set to YES.
++
++DOCSET_PUBLISHER_NAME = Publisher
++
++# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
++# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
++# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
++# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
++# Windows.
++#
++# The HTML Help Workshop contains a compiler that can convert all HTML output
++# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
++# files are now used as the Windows 98 help format, and will replace the old
++# Windows help format (.hlp) on all Windows platforms in the future. Compressed
++# HTML files also contain an index, a table of contents, and you can search for
++# words in the documentation. The HTML workshop also contains a viewer for
++# compressed HTML files.
++# The default value is: NO.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++GENERATE_HTMLHELP = NO
++
++# The CHM_FILE tag can be used to specify the file name of the resulting .chm
++# file. You can add a path in front of the file if the result should not be
++# written to the html output directory.
++# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
++
++CHM_FILE =
++
++# The HHC_LOCATION tag can be used to specify the location (absolute path
++# including file name) of the HTML help compiler ( hhc.exe). If non-empty
++# doxygen will try to run the HTML help compiler on the generated index.hhp.
++# The file has to be specified with full path.
++# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
++
++HHC_LOCATION =
++
++# The GENERATE_CHI flag controls if a separate .chi index file is generated (
++# YES) or that it should be included in the master .chm file ( NO).
++# The default value is: NO.
++# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
++
++GENERATE_CHI = NO
++
++# The CHM_INDEX_ENCODING is used to encode HtmlHelp index ( hhk), content ( hhc)
++# and project file content.
++# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
++
++CHM_INDEX_ENCODING =
++
++# The BINARY_TOC flag controls whether a binary table of contents is generated (
++# YES) or a normal table of contents ( NO) in the .chm file. Furthermore it
++# enables the Previous and Next buttons.
++# The default value is: NO.
++# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
++
++BINARY_TOC = NO
++
++# The TOC_EXPAND flag can be set to YES to add extra items for group members to
++# the table of contents of the HTML help documentation and to the tree view.
++# The default value is: NO.
++# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
++
++TOC_EXPAND = NO
++
++# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
++# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
++# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
++# (.qch) of the generated HTML documentation.
++# The default value is: NO.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++GENERATE_QHP = NO
++
++# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
++# the file name of the resulting .qch file. The path specified is relative to
++# the HTML output folder.
++# This tag requires that the tag GENERATE_QHP is set to YES.
++
++QCH_FILE =
++
++# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
++# Project output. For more information please see Qt Help Project / Namespace
++# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
++# The default value is: org.doxygen.Project.
++# This tag requires that the tag GENERATE_QHP is set to YES.
++
++QHP_NAMESPACE = org.doxygen.Project
++
++# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
++# Help Project output. For more information please see Qt Help Project / Virtual
++# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
++# folders).
++# The default value is: doc.
++# This tag requires that the tag GENERATE_QHP is set to YES.
++
++QHP_VIRTUAL_FOLDER = doc
++
++# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
++# filter to add. For more information please see Qt Help Project / Custom
++# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
++# filters).
++# This tag requires that the tag GENERATE_QHP is set to YES.
++
++QHP_CUST_FILTER_NAME =
++
++# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
++# custom filter to add. For more information please see Qt Help Project / Custom
++# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
++# filters).
++# This tag requires that the tag GENERATE_QHP is set to YES.
++
++QHP_CUST_FILTER_ATTRS =
++
++# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
++# project's filter section matches. Qt Help Project / Filter Attributes (see:
++# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
++# This tag requires that the tag GENERATE_QHP is set to YES.
++
++QHP_SECT_FILTER_ATTRS =
++
++# The QHG_LOCATION tag can be used to specify the location of Qt's
++# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
++# generated .qhp file.
++# This tag requires that the tag GENERATE_QHP is set to YES.
++
++QHG_LOCATION =
++
++# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
++# generated, together with the HTML files, they form an Eclipse help plugin. To
++# install this plugin and make it available under the help contents menu in
++# Eclipse, the contents of the directory containing the HTML and XML files needs
++# to be copied into the plugins directory of eclipse. The name of the directory
++# within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
++# After copying Eclipse needs to be restarted before the help appears.
++# The default value is: NO.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++GENERATE_ECLIPSEHELP = NO
++
++# A unique identifier for the Eclipse help plugin. When installing the plugin
++# the directory name containing the HTML and XML files should also have this
++# name. Each documentation set should have its own identifier.
++# The default value is: org.doxygen.Project.
++# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
++
++ECLIPSE_DOC_ID = org.doxygen.Project
++
++# If you want full control over the layout of the generated HTML pages it might
++# be necessary to disable the index and replace it with your own. The
++# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
++# of each HTML page. A value of NO enables the index and the value YES disables
++# it. Since the tabs in the index contain the same information as the navigation
++# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
++# The default value is: NO.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++DISABLE_INDEX = NO
++
++# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
++# structure should be generated to display hierarchical information. If the tag
++# value is set to YES, a side panel will be generated containing a tree-like
++# index structure (just like the one that is generated for HTML Help). For this
++# to work a browser that supports JavaScript, DHTML, CSS and frames is required
++# (i.e. any modern browser). Windows users are probably better off using the
++# HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can
++# further fine-tune the look of the index. As an example, the default style
++# sheet generated by doxygen has an example that shows how to put an image at
++# the root of the tree instead of the PROJECT_NAME. Since the tree basically has
++# the same information as the tab index, you could consider setting
++# DISABLE_INDEX to YES when enabling this option.
++# The default value is: NO.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++GENERATE_TREEVIEW = YES
++
++# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
++# doxygen will group on one line in the generated HTML documentation.
++#
++# Note that a value of 0 will completely suppress the enum values from appearing
++# in the overview section.
++# Minimum value: 0, maximum value: 20, default value: 4.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++ENUM_VALUES_PER_LINE = 4
++
++# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
++# to set the initial width (in pixels) of the frame in which the tree is shown.
++# Minimum value: 0, maximum value: 1500, default value: 250.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++TREEVIEW_WIDTH = 250
++
++# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open links to
++# external symbols imported via tag files in a separate window.
++# The default value is: NO.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++EXT_LINKS_IN_WINDOW = NO
++
++# Use this tag to change the font size of LaTeX formulas included as images in
++# the HTML documentation. When you change the font size after a successful
++# doxygen run you need to manually remove any form_*.png images from the HTML
++# output directory to force them to be regenerated.
++# Minimum value: 8, maximum value: 50, default value: 10.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++FORMULA_FONTSIZE = 10
++
++# Use the FORMULA_TRANPARENT tag to determine whether or not the images
++# generated for formulas are transparent PNGs. Transparent PNGs are not
++# supported properly for IE 6.0, but are supported on all modern browsers.
++#
++# Note that when changing this option you need to delete any form_*.png files in
++# the HTML output directory before the changes have effect.
++# The default value is: YES.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++FORMULA_TRANSPARENT = YES
++
++# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
++# http://www.mathjax.org) which uses client side Javascript for the rendering
++# instead of using prerendered bitmaps. Use this if you do not have LaTeX
++# installed or if you want to formulas look prettier in the HTML output. When
++# enabled you may also need to install MathJax separately and configure the path
++# to it using the MATHJAX_RELPATH option.
++# The default value is: NO.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++USE_MATHJAX = NO
++
++# When MathJax is enabled you can set the default output format to be used for
++# the MathJax output. See the MathJax site (see:
++# http://docs.mathjax.org/en/latest/output.html) for more details.
++# Possible values are: HTML-CSS (which is slower, but has the best
++# compatibility), NativeMML (i.e. MathML) and SVG.
++# The default value is: HTML-CSS.
++# This tag requires that the tag USE_MATHJAX is set to YES.
++
++MATHJAX_FORMAT = HTML-CSS
++
++# When MathJax is enabled you need to specify the location relative to the HTML
++# output directory using the MATHJAX_RELPATH option. The destination directory
++# should contain the MathJax.js script. For instance, if the mathjax directory
++# is located at the same level as the HTML output directory, then
++# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
++# Content Delivery Network so you can quickly see the result without installing
++# MathJax. However, it is strongly recommended to install a local copy of
++# MathJax from http://www.mathjax.org before deployment.
++# The default value is: http://cdn.mathjax.org/mathjax/latest.
++# This tag requires that the tag USE_MATHJAX is set to YES.
++
++MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
++
++# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
++# extension names that should be enabled during MathJax rendering. For example
++# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
++# This tag requires that the tag USE_MATHJAX is set to YES.
++
++MATHJAX_EXTENSIONS =
++
++# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
++# of code that will be used on startup of the MathJax code. See the MathJax site
++# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
++# example see the documentation.
++# This tag requires that the tag USE_MATHJAX is set to YES.
++
++MATHJAX_CODEFILE =
++
++# When the SEARCHENGINE tag is enabled doxygen will generate a search box for
++# the HTML output. The underlying search engine uses javascript and DHTML and
++# should work on any modern browser. Note that when using HTML help
++# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
++# there is already a search function so this one should typically be disabled.
++# For large projects the javascript based search engine can be slow, then
++# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
++# search using the keyboard; to jump to the search box use <access key> + S
++# (what the <access key> is depends on the OS and browser, but it is typically
++# <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down
++# key> to jump into the search results window, the results can be navigated
++# using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel
++# the search. The filter options can be selected when the cursor is inside the
++# search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys>
++# to select a filter and <Enter> or <escape> to activate or cancel the filter
++# option.
++# The default value is: YES.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++SEARCHENGINE = YES
++
++# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
++# implemented using a web server instead of a web client using Javascript. There
++# are two flavors of web server based searching depending on the EXTERNAL_SEARCH
++# setting. When disabled, doxygen will generate a PHP script for searching and
++# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
++# and searching needs to be provided by external tools. See the section
++# "External Indexing and Searching" for details.
++# The default value is: NO.
++# This tag requires that the tag SEARCHENGINE is set to YES.
++
++SERVER_BASED_SEARCH = NO
++
++# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
++# script for searching. Instead the search results are written to an XML file
++# which needs to be processed by an external indexer. Doxygen will invoke an
++# external search engine pointed to by the SEARCHENGINE_URL option to obtain the
++# search results.
++#
++# Doxygen ships with an example indexer ( doxyindexer) and search engine
++# (doxysearch.cgi) which are based on the open source search engine library
++# Xapian (see: http://xapian.org/).
++#
++# See the section "External Indexing and Searching" for details.
++# The default value is: NO.
++# This tag requires that the tag SEARCHENGINE is set to YES.
++
++EXTERNAL_SEARCH = NO
++
++# The SEARCHENGINE_URL should point to a search engine hosted by a web server
++# which will return the search results when EXTERNAL_SEARCH is enabled.
++#
++# Doxygen ships with an example indexer ( doxyindexer) and search engine
++# (doxysearch.cgi) which are based on the open source search engine library
++# Xapian (see: http://xapian.org/). See the section "External Indexing and
++# Searching" for details.
++# This tag requires that the tag SEARCHENGINE is set to YES.
++
++SEARCHENGINE_URL =
++
++# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
++# search data is written to a file for indexing by an external tool. With the
++# SEARCHDATA_FILE tag the name of this file can be specified.
++# The default file is: searchdata.xml.
++# This tag requires that the tag SEARCHENGINE is set to YES.
++
++SEARCHDATA_FILE = searchdata.xml
++
++# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the
++# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
++# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
++# projects and redirect the results back to the right project.
++# This tag requires that the tag SEARCHENGINE is set to YES.
++
++EXTERNAL_SEARCH_ID =
++
++# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
++# projects other than the one defined by this configuration file, but that are
++# all added to the same external search index. Each project needs to have a
++# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of
++# to a relative location where the documentation can be found. The format is:
++# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
++# This tag requires that the tag SEARCHENGINE is set to YES.
++
++EXTRA_SEARCH_MAPPINGS =
++
++#---------------------------------------------------------------------------
++# Configuration options related to the LaTeX output
++#---------------------------------------------------------------------------
++
++# If the GENERATE_LATEX tag is set to YES doxygen will generate LaTeX output.
++# The default value is: YES.
++
++GENERATE_LATEX = NO
++
++# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
++# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
++# it.
++# The default directory is: latex.
++# This tag requires that the tag GENERATE_LATEX is set to YES.
++
++LATEX_OUTPUT = latex
++
++# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
++# invoked.
++#
++# Note that when enabling USE_PDFLATEX this option is only used for generating
++# bitmaps for formulas in the HTML output, but not in the Makefile that is
++# written to the output directory.
++# The default file is: latex.
++# This tag requires that the tag GENERATE_LATEX is set to YES.
++
++LATEX_CMD_NAME = latex
++
++# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
++# index for LaTeX.
++# The default file is: makeindex.
++# This tag requires that the tag GENERATE_LATEX is set to YES.
++
++MAKEINDEX_CMD_NAME = makeindex
++
++# If the COMPACT_LATEX tag is set to YES doxygen generates more compact LaTeX
++# documents. This may be useful for small projects and may help to save some
++# trees in general.
++# The default value is: NO.
++# This tag requires that the tag GENERATE_LATEX is set to YES.
++
++COMPACT_LATEX = NO
++
++# The PAPER_TYPE tag can be used to set the paper type that is used by the
++# printer.
++# Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x
++# 14 inches) and executive (7.25 x 10.5 inches).
++# The default value is: a4.
++# This tag requires that the tag GENERATE_LATEX is set to YES.
++
++PAPER_TYPE = a4
++
++# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
++# that should be included in the LaTeX output. To get the times font for
++# instance you can specify
++# EXTRA_PACKAGES=times
++# If left blank no extra packages will be included.
++# This tag requires that the tag GENERATE_LATEX is set to YES.
++
++EXTRA_PACKAGES =
++
++# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
++# generated LaTeX document. The header should contain everything until the first
++# chapter. If it is left blank doxygen will generate a standard header. See
++# section "Doxygen usage" for information on how to let doxygen write the
++# default header to a separate file.
++#
++# Note: Only use a user-defined header if you know what you are doing! The
++# following commands have a special meaning inside the header: $title,
++# $datetime, $date, $doxygenversion, $projectname, $projectnumber. Doxygen will
++# replace them by respectively the title of the page, the current date and time,
++# only the current date, the version number of doxygen, the project name (see
++# PROJECT_NAME), or the project number (see PROJECT_NUMBER).
++# This tag requires that the tag GENERATE_LATEX is set to YES.
++
++LATEX_HEADER =
++
++# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
++# generated LaTeX document. The footer should contain everything after the last
++# chapter. If it is left blank doxygen will generate a standard footer.
++#
++# Note: Only use a user-defined footer if you know what you are doing!
++# This tag requires that the tag GENERATE_LATEX is set to YES.
++
++LATEX_FOOTER =
++
++# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
++# other source files which should be copied to the LATEX_OUTPUT output
++# directory. Note that the files will be copied as-is; there are no commands or
++# markers available.
++# This tag requires that the tag GENERATE_LATEX is set to YES.
++
++LATEX_EXTRA_FILES =
++
++# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
++# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
++# contain links (just like the HTML output) instead of page references. This
++# makes the output suitable for online browsing using a PDF viewer.
++# The default value is: YES.
++# This tag requires that the tag GENERATE_LATEX is set to YES.
++
++PDF_HYPERLINKS = YES
++
++# If the LATEX_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
++# the PDF file directly from the LaTeX files. Set this option to YES to get a
++# higher quality PDF documentation.
++# The default value is: YES.
++# This tag requires that the tag GENERATE_LATEX is set to YES.
++
++USE_PDFLATEX = YES
++
++# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
++# command to the generated LaTeX files. This will instruct LaTeX to keep running
++# if errors occur, instead of asking the user for help. This option is also used
++# when generating formulas in HTML.
++# The default value is: NO.
++# This tag requires that the tag GENERATE_LATEX is set to YES.
++
++LATEX_BATCHMODE = NO
++
++# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
++# index chapters (such as File Index, Compound Index, etc.) in the output.
++# The default value is: NO.
++# This tag requires that the tag GENERATE_LATEX is set to YES.
++
++LATEX_HIDE_INDICES = NO
++
++# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
++# code with syntax highlighting in the LaTeX output.
++#
++# Note that which sources are shown also depends on other settings such as
++# SOURCE_BROWSER.
++# The default value is: NO.
++# This tag requires that the tag GENERATE_LATEX is set to YES.
++
++LATEX_SOURCE_CODE = NO
++
++# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
++# bibliography, e.g. plainnat, or ieeetr. See
++# http://en.wikipedia.org/wiki/BibTeX and \cite for more info.
++# The default value is: plain.
++# This tag requires that the tag GENERATE_LATEX is set to YES.
++
++LATEX_BIB_STYLE = plain
++
++#---------------------------------------------------------------------------
++# Configuration options related to the RTF output
++#---------------------------------------------------------------------------
++
++# If the GENERATE_RTF tag is set to YES doxygen will generate RTF output. The
++# RTF output is optimized for Word 97 and may not look too pretty with other RTF
++# readers/editors.
++# The default value is: NO.
++
++GENERATE_RTF = NO
++
++# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a
++# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
++# it.
++# The default directory is: rtf.
++# This tag requires that the tag GENERATE_RTF is set to YES.
++
++RTF_OUTPUT = rtf
++
++# If the COMPACT_RTF tag is set to YES doxygen generates more compact RTF
++# documents. This may be useful for small projects and may help to save some
++# trees in general.
++# The default value is: NO.
++# This tag requires that the tag GENERATE_RTF is set to YES.
++
++COMPACT_RTF = NO
++
++# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
++# contain hyperlink fields. The RTF file will contain links (just like the HTML
++# output) instead of page references. This makes the output suitable for online
++# browsing using Word or some other Word compatible readers that support those
++# fields.
++#
++# Note: WordPad (write) and others do not support links.
++# The default value is: NO.
++# This tag requires that the tag GENERATE_RTF is set to YES.
++
++RTF_HYPERLINKS = NO
++
++# Load stylesheet definitions from file. Syntax is similar to doxygen's config
++# file, i.e. a series of assignments. You only have to provide replacements,
++# missing definitions are set to their default value.
++#
++# See also section "Doxygen usage" for information on how to generate the
++# default style sheet that doxygen normally uses.
++# This tag requires that the tag GENERATE_RTF is set to YES.
++
++RTF_STYLESHEET_FILE =
++
++# Set optional variables used in the generation of an RTF document. Syntax is
++# similar to doxygen's config file. A template extensions file can be generated
++# using doxygen -e rtf extensionFile.
++# This tag requires that the tag GENERATE_RTF is set to YES.
++
++RTF_EXTENSIONS_FILE =
++
++#---------------------------------------------------------------------------
++# Configuration options related to the man page output
++#---------------------------------------------------------------------------
++
++# If the GENERATE_MAN tag is set to YES doxygen will generate man pages for
++# classes and files.
++# The default value is: NO.
++
++GENERATE_MAN = NO
++
++# The MAN_OUTPUT tag is used to specify where the man pages will be put. If a
++# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
++# it. A directory man3 will be created inside the directory specified by
++# MAN_OUTPUT.
++# The default directory is: man.
++# This tag requires that the tag GENERATE_MAN is set to YES.
++
++MAN_OUTPUT = man
++
++# The MAN_EXTENSION tag determines the extension that is added to the generated
++# man pages. In case the manual section does not start with a number, the number
++# 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is
++# optional.
++# The default value is: .3.
++# This tag requires that the tag GENERATE_MAN is set to YES.
++
++MAN_EXTENSION = .3
++
++# The MAN_SUBDIR tag determines the name of the directory created within
++# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
++# MAN_EXTENSION with the initial . removed.
++# This tag requires that the tag GENERATE_MAN is set to YES.
++
++MAN_SUBDIR =
++
++# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
++# will generate one additional man file for each entity documented in the real
++# man page(s). These additional files only source the real man page, but without
++# them the man command would be unable to find the correct page.
++# The default value is: NO.
++# This tag requires that the tag GENERATE_MAN is set to YES.
++
++MAN_LINKS = NO
++
++#---------------------------------------------------------------------------
++# Configuration options related to the XML output
++#---------------------------------------------------------------------------
++
++# If the GENERATE_XML tag is set to YES doxygen will generate an XML file that
++# captures the structure of the code including all documentation.
++# The default value is: NO.
++
++GENERATE_XML = NO
++
++# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
++# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
++# it.
++# The default directory is: xml.
++# This tag requires that the tag GENERATE_XML is set to YES.
++
++XML_OUTPUT = xml
++
++# If the XML_PROGRAMLISTING tag is set to YES doxygen will dump the program
++# listings (including syntax highlighting and cross-referencing information) to
++# the XML output. Note that enabling this will significantly increase the size
++# of the XML output.
++# The default value is: YES.
++# This tag requires that the tag GENERATE_XML is set to YES.
++
++XML_PROGRAMLISTING = YES
++
++#---------------------------------------------------------------------------
++# Configuration options related to the DOCBOOK output
++#---------------------------------------------------------------------------
++
++# If the GENERATE_DOCBOOK tag is set to YES doxygen will generate Docbook files
++# that can be used to generate PDF.
++# The default value is: NO.
++
++GENERATE_DOCBOOK = NO
++
++# The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
++# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in
++# front of it.
++# The default directory is: docbook.
++# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
++
++DOCBOOK_OUTPUT = docbook
++
++#---------------------------------------------------------------------------
++# Configuration options for the AutoGen Definitions output
++#---------------------------------------------------------------------------
++
++# If the GENERATE_AUTOGEN_DEF tag is set to YES doxygen will generate an AutoGen
++# Definitions (see http://autogen.sf.net) file that captures the structure of
++# the code including all documentation. Note that this feature is still
++# experimental and incomplete at the moment.
++# The default value is: NO.
++
++GENERATE_AUTOGEN_DEF = NO
++
++#---------------------------------------------------------------------------
++# Configuration options related to the Perl module output
++#---------------------------------------------------------------------------
++
++# If the GENERATE_PERLMOD tag is set to YES doxygen will generate a Perl module
++# file that captures the structure of the code including all documentation.
++#
++# Note that this feature is still experimental and incomplete at the moment.
++# The default value is: NO.
++
++GENERATE_PERLMOD = NO
++
++# If the PERLMOD_LATEX tag is set to YES doxygen will generate the necessary
++# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
++# output from the Perl module output.
++# The default value is: NO.
++# This tag requires that the tag GENERATE_PERLMOD is set to YES.
++
++PERLMOD_LATEX = NO
++
++# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be nicely
++# formatted so it can be parsed by a human reader. This is useful if you want to
++# understand what is going on. On the other hand, if this tag is set to NO the
++# size of the Perl module output will be much smaller and Perl will parse it
++# just the same.
++# The default value is: YES.
++# This tag requires that the tag GENERATE_PERLMOD is set to YES.
++
++PERLMOD_PRETTY = YES
++
++# The names of the make variables in the generated doxyrules.make file are
++# prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful
++# so different doxyrules.make files included by the same Makefile don't
++# overwrite each other's variables.
++# This tag requires that the tag GENERATE_PERLMOD is set to YES.
++
++PERLMOD_MAKEVAR_PREFIX =
++
++#---------------------------------------------------------------------------
++# Configuration options related to the preprocessor
++#---------------------------------------------------------------------------
++
++# If the ENABLE_PREPROCESSING tag is set to YES doxygen will evaluate all
++# C-preprocessor directives found in the sources and include files.
++# The default value is: YES.
++
++ENABLE_PREPROCESSING = YES
++
++# If the MACRO_EXPANSION tag is set to YES doxygen will expand all macro names
++# in the source code. If set to NO only conditional compilation will be
++# performed. Macro expansion can be done in a controlled way by setting
++# EXPAND_ONLY_PREDEF to YES.
++# The default value is: NO.
++# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
++
++MACRO_EXPANSION = NO
++
++# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
++# the macro expansion is limited to the macros specified with the PREDEFINED and
++# EXPAND_AS_DEFINED tags.
++# The default value is: NO.
++# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
++
++EXPAND_ONLY_PREDEF = NO
++
++# If the SEARCH_INCLUDES tag is set to YES the includes files in the
++# INCLUDE_PATH will be searched if a #include is found.
++# The default value is: YES.
++# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
++
++SEARCH_INCLUDES = YES
++
++# The INCLUDE_PATH tag can be used to specify one or more directories that
++# contain include files that are not input files but should be processed by the
++# preprocessor.
++# This tag requires that the tag SEARCH_INCLUDES is set to YES.
++
++INCLUDE_PATH =
++
++# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
++# patterns (like *.h and *.hpp) to filter out the header-files in the
++# directories. If left blank, the patterns specified with FILE_PATTERNS will be
++# used.
++# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
++
++INCLUDE_FILE_PATTERNS =
++
++# The PREDEFINED tag can be used to specify one or more macro names that are
++# defined before the preprocessor is started (similar to the -D option of e.g.
++# gcc). The argument of the tag is a list of macros of the form: name or
++# name=definition (no spaces). If the definition and the "=" are omitted, "=1"
++# is assumed. To prevent a macro definition from being undefined via #undef or
++# recursively expanded use the := operator instead of the = operator.
++# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
++
++PREDEFINED =
++
++# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
++# tag can be used to specify a list of macro names that should be expanded. The
++# macro definition that is found in the sources will be used. Use the PREDEFINED
++# tag if you want to use a different macro definition that overrules the
++# definition found in the source code.
++# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
++
++EXPAND_AS_DEFINED =
++
++# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
++# remove all references to function-like macros that are alone on a line, have
++# an all uppercase name, and do not end with a semicolon. Such function macros
++# are typically used for boiler-plate code, and will confuse the parser if not
++# removed.
++# The default value is: YES.
++# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
++
++SKIP_FUNCTION_MACROS = YES
++
++#---------------------------------------------------------------------------
++# Configuration options related to external references
++#---------------------------------------------------------------------------
++
++# The TAGFILES tag can be used to specify one or more tag files. For each tag
++# file the location of the external documentation should be added. The format of
++# a tag file without this location is as follows:
++# TAGFILES = file1 file2 ...
++# Adding location for the tag files is done as follows:
++# TAGFILES = file1=loc1 "file2 = loc2" ...
++# where loc1 and loc2 can be relative or absolute paths or URLs. See the
++# section "Linking to external documentation" for more information about the use
++# of tag files.
++# Note: Each tag file must have a unique name (where the name does NOT include
++# the path). If a tag file is not located in the directory in which doxygen is
++# run, you must also specify the path to the tagfile here.
++
++TAGFILES =
++
++# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
++# tag file that is based on the input files it reads. See section "Linking to
++# external documentation" for more information about the usage of tag files.
++
++GENERATE_TAGFILE =
++
++# If the ALLEXTERNALS tag is set to YES all external class will be listed in the
++# class index. If set to NO only the inherited external classes will be listed.
++# The default value is: NO.
++
++ALLEXTERNALS = NO
++
++# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed in
++# the modules index. If set to NO, only the current project's groups will be
++# listed.
++# The default value is: YES.
++
++EXTERNAL_GROUPS = YES
++
++# If the EXTERNAL_PAGES tag is set to YES all external pages will be listed in
++# the related pages index. If set to NO, only the current project's pages will
++# be listed.
++# The default value is: YES.
++
++EXTERNAL_PAGES = YES
++
++# The PERL_PATH should be the absolute path and name of the perl script
++# interpreter (i.e. the result of 'which perl').
++# The default file (with absolute path) is: /usr/bin/perl.
++
++PERL_PATH = /usr/bin/perl
++
++#---------------------------------------------------------------------------
++# Configuration options related to the dot tool
++#---------------------------------------------------------------------------
++
++# If the CLASS_DIAGRAMS tag is set to YES doxygen will generate a class diagram
++# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
++# NO turns the diagrams off. Note that this option also works with HAVE_DOT
++# disabled, but it is recommended to install and use dot, since it yields more
++# powerful graphs.
++# The default value is: YES.
++
++CLASS_DIAGRAMS = YES
++
++# You can define message sequence charts within doxygen comments using the \msc
++# command. Doxygen will then run the mscgen tool (see:
++# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
++# documentation. The MSCGEN_PATH tag allows you to specify the directory where
++# the mscgen tool resides. If left empty the tool is assumed to be found in the
++# default search path.
++
++MSCGEN_PATH =
++
++# You can include diagrams made with dia in doxygen documentation. Doxygen will
++# then run dia to produce the diagram and insert it in the documentation. The
++# DIA_PATH tag allows you to specify the directory where the dia binary resides.
++# If left empty dia is assumed to be found in the default search path.
++
++DIA_PATH =
++
++# If set to YES, the inheritance and collaboration graphs will hide inheritance
++# and usage relations if the target is undocumented or is not a class.
++# The default value is: YES.
++
++HIDE_UNDOC_RELATIONS = YES
++
++# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
++# available from the path. This tool is part of Graphviz (see:
++# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
++# Bell Labs. The other options in this section have no effect if this option is
++# set to NO
++# The default value is: NO.
++
++HAVE_DOT = NO
++
++# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
++# to run in parallel. When set to 0 doxygen will base this on the number of
++# processors available in the system. You can set it explicitly to a value
++# larger than 0 to get control over the balance between CPU load and processing
++# speed.
++# Minimum value: 0, maximum value: 32, default value: 0.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++DOT_NUM_THREADS = 0
++
++# When you want a differently looking font n the dot files that doxygen
++# generates you can specify the font name using DOT_FONTNAME. You need to make
++# sure dot is able to find the font, which can be done by putting it in a
++# standard location or by setting the DOTFONTPATH environment variable or by
++# setting DOT_FONTPATH to the directory containing the font.
++# The default value is: Helvetica.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++DOT_FONTNAME = Helvetica
++
++# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
++# dot graphs.
++# Minimum value: 4, maximum value: 24, default value: 10.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++DOT_FONTSIZE = 10
++
++# By default doxygen will tell dot to use the default font as specified with
++# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
++# the path where dot can find it using this tag.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++DOT_FONTPATH =
++
++# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
++# each documented class showing the direct and indirect inheritance relations.
++# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
++# The default value is: YES.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++CLASS_GRAPH = YES
++
++# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
++# graph for each documented class showing the direct and indirect implementation
++# dependencies (inheritance, containment, and class references variables) of the
++# class with other documented classes.
++# The default value is: YES.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++COLLABORATION_GRAPH = YES
++
++# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
++# groups, showing the direct groups dependencies.
++# The default value is: YES.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++GROUP_GRAPHS = YES
++
++# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
++# collaboration diagrams in a style similar to the OMG's Unified Modeling
++# Language.
++# The default value is: NO.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++UML_LOOK = NO
++
++# If the UML_LOOK tag is enabled, the fields and methods are shown inside the
++# class node. If there are many fields or methods and many nodes the graph may
++# become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the
++# number of items for each type to make the size more manageable. Set this to 0
++# for no limit. Note that the threshold may be exceeded by 50% before the limit
++# is enforced. So when you set the threshold to 10, up to 15 fields may appear,
++# but if the number exceeds 15, the total amount of fields shown is limited to
++# 10.
++# Minimum value: 0, maximum value: 100, default value: 10.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++UML_LIMIT_NUM_FIELDS = 10
++
++# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
++# collaboration graphs will show the relations between templates and their
++# instances.
++# The default value is: NO.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++TEMPLATE_RELATIONS = NO
++
++# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
++# YES then doxygen will generate a graph for each documented file showing the
++# direct and indirect include dependencies of the file with other documented
++# files.
++# The default value is: YES.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++INCLUDE_GRAPH = YES
++
++# If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
++# set to YES then doxygen will generate a graph for each documented file showing
++# the direct and indirect include dependencies of the file with other documented
++# files.
++# The default value is: YES.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++INCLUDED_BY_GRAPH = YES
++
++# If the CALL_GRAPH tag is set to YES then doxygen will generate a call
++# dependency graph for every global function or class method.
++#
++# Note that enabling this option will significantly increase the time of a run.
++# So in most cases it will be better to enable call graphs for selected
++# functions only using the \callgraph command.
++# The default value is: NO.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++CALL_GRAPH = YES
++
++# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
++# dependency graph for every global function or class method.
++#
++# Note that enabling this option will significantly increase the time of a run.
++# So in most cases it will be better to enable caller graphs for selected
++# functions only using the \callergraph command.
++# The default value is: NO.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++CALLER_GRAPH = YES
++
++# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
++# hierarchy of all classes instead of a textual one.
++# The default value is: YES.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++GRAPHICAL_HIERARCHY = YES
++
++# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the
++# dependencies a directory has on other directories in a graphical way. The
++# dependency relations are determined by the #include relations between the
++# files in the directories.
++# The default value is: YES.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++DIRECTORY_GRAPH = YES
++
++# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
++# generated by dot.
++# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
++# to make the SVG files visible in IE 9+ (other browsers do not have this
++# requirement).
++# Possible values are: png, jpg, gif and svg.
++# The default value is: png.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++DOT_IMAGE_FORMAT = png
++
++# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
++# enable generation of interactive SVG images that allow zooming and panning.
++#
++# Note that this requires a modern browser other than Internet Explorer. Tested
++# and working are Firefox, Chrome, Safari, and Opera.
++# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
++# the SVG files visible. Older versions of IE do not have SVG support.
++# The default value is: NO.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++INTERACTIVE_SVG = NO
++
++# The DOT_PATH tag can be used to specify the path where the dot tool can be
++# found. If left blank, it is assumed the dot tool can be found in the path.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++DOT_PATH =
++
++# The DOTFILE_DIRS tag can be used to specify one or more directories that
++# contain dot files that are included in the documentation (see the \dotfile
++# command).
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++DOTFILE_DIRS =
++
++# The MSCFILE_DIRS tag can be used to specify one or more directories that
++# contain msc files that are included in the documentation (see the \mscfile
++# command).
++
++MSCFILE_DIRS =
++
++# The DIAFILE_DIRS tag can be used to specify one or more directories that
++# contain dia files that are included in the documentation (see the \diafile
++# command).
++
++DIAFILE_DIRS =
++
++# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
++# that will be shown in the graph. If the number of nodes in a graph becomes
++# larger than this value, doxygen will truncate the graph, which is visualized
++# by representing a node as a red box. Note that doxygen if the number of direct
++# children of the root node in a graph is already larger than
++# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
++# the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
++# Minimum value: 0, maximum value: 10000, default value: 50.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++DOT_GRAPH_MAX_NODES = 50
++
++# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
++# generated by dot. A depth value of 3 means that only nodes reachable from the
++# root by following a path via at most 3 edges will be shown. Nodes that lay
++# further from the root node will be omitted. Note that setting this option to 1
++# or 2 may greatly reduce the computation time needed for large code bases. Also
++# note that the size of a graph can be further restricted by
++# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
++# Minimum value: 0, maximum value: 1000, default value: 0.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++MAX_DOT_GRAPH_DEPTH = 0
++
++# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
++# background. This is disabled by default, because dot on Windows does not seem
++# to support this out of the box.
++#
++# Warning: Depending on the platform used, enabling this option may lead to
++# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
++# read).
++# The default value is: NO.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++DOT_TRANSPARENT = NO
++
++# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
++# files in one run (i.e. multiple -o and -T options on the command line). This
++# makes dot run faster, but since only newer versions of dot (>1.8.10) support
++# this, this feature is disabled by default.
++# The default value is: NO.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++DOT_MULTI_TARGETS = NO
++
++# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
++# explaining the meaning of the various boxes and arrows in the dot generated
++# graphs.
++# The default value is: YES.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++GENERATE_LEGEND = YES
++
++# If the DOT_CLEANUP tag is set to YES doxygen will remove the intermediate dot
++# files that are used to generate the various graphs.
++# The default value is: YES.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++DOT_CLEANUP = YES
+diff -rupN STM8S_SPL_2.2.0/Libraries/STM8S_StdPeriph_Driver/inc/stm8s.h STM8S_SPL_2.2.0_SDCC/Libraries/STM8S_StdPeriph_Driver/inc/stm8s.h
+--- STM8S_SPL_2.2.0/Libraries/STM8S_StdPeriph_Driver/inc/stm8s.h 2014-10-21 18:32:20.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Libraries/STM8S_StdPeriph_Driver/inc/stm8s.h 2015-03-08 18:09:59.000000000 +0100
+@@ -84,6 +84,8 @@
+ #define _RAISONANCE_
+ #elif defined(__ICCSTM8__)
+ #define _IAR_
++#elif defined(__SDCC) // SDCC patch: add compiler
++ #define _SDCC_
+ #else
+ #error "Unsupported Compiler!" /* Compiler defines not found */
+ #endif
+@@ -137,6 +139,12 @@
+ /*!< Used with memory Models for code less than 64K */
+ #define MEMCPY memcpy
+ #endif /* STM8S208 or STM8S207 or STM8S007 or STM8AF62Ax or STM8AF52Ax */
++#elif defined (_SDCC_) // SDCC patch: mostly not required / not supported
++ #define FAR
++ #define NEAR
++ #define TINY
++ #define EEPROM
++ #define CONST const
+ #else /*_IAR_*/
+ #define FAR __far
+ #define NEAR __near
+@@ -170,6 +178,8 @@
+ #define IN_RAM(a) a
+ #elif defined (_RAISONANCE_) /* __RCST7__ */
+ #define IN_RAM(a) a inram
++ #elif defined (_SDCC_) // SDCC patch: code in RAM not yet patched
++ #define IN_RAM(a) a
+ #else /*_IAR_*/
+ #define IN_RAM(a) __ramfunc a
+ #endif /* _COSMIC_ */
+@@ -2729,6 +2739,15 @@ CFG_TypeDef;
+ #define trap() {_asm("trap\n");} /* Trap (soft IT) */
+ #define wfi() {_asm("wfi\n");} /* Wait For Interrupt */
+ #define halt() {_asm("halt\n");} /* Halt */
++#elif defined(_SDCC_) // SDCC patch: for inline assembly
++ #define enableInterrupts() __asm__("rim") /* enable interrupts */
++ #define disableInterrupts() __asm__("sim") /* disable interrupts */
++ #define rim() __asm__("rim") /* enable interrupts */
++ #define sim() __asm__("sim") /* disable interrupts */
++ #define nop() __asm__("nop") /* No Operation */
++ #define trap() __asm__("trap") /* Trap (soft IT) */
++ #define wfi() __asm__("wfi") /* Wait For Interrupt */
++ #define halt() __asm__("halt") /* Halt */
+ #else /*_IAR_*/
+ #include <intrinsics.h>
+ #define enableInterrupts() __enable_interrupt() /* enable interrupts */
+@@ -2764,11 +2783,21 @@ CFG_TypeDef;
+ __interrupt void (a) (void)
+ #endif /* _IAR_ */
+
++#ifdef _SDCC_ // SDCC patch: ISR handlers
++ #define INTERRUPT_HANDLER(a,b) void a() __interrupt(b)
++ #if (SKIP_TRAPS==0) // SDCC patch: trap handling requires SDCC >=v3.4.3
++ #define INTERRUPT_HANDLER_TRAP(a) void a(void) __trap
++ #endif /* USE_TRAPS=1 */
++#endif /* _SDCC_ */
++
+ /*============================== Interrupt Handler declaration ========================*/
+ #ifdef _COSMIC_
+ #define INTERRUPT @far @interrupt
+ #elif defined(_IAR_)
+ #define INTERRUPT __interrupt
++#elif defined(_SDCC_) // SDCC patch: doesn't work, yet :-(
++ #define INTERRUPT __interrupt
++ #include "stm8s_it.h" // assert inclusion in main.c
+ #endif /* _COSMIC_ */
+
+ /*============================== Handling bits ====================================*/
+diff -rupN STM8S_SPL_2.2.0/Libraries/STM8S_StdPeriph_Driver/src/stm8s_flash.c STM8S_SPL_2.2.0_SDCC/Libraries/STM8S_StdPeriph_Driver/src/stm8s_flash.c
+--- STM8S_SPL_2.2.0/Libraries/STM8S_StdPeriph_Driver/src/stm8s_flash.c 2014-10-21 18:32:20.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Libraries/STM8S_StdPeriph_Driver/src/stm8s_flash.c 2015-02-23 18:33:10.000000000 +0100
+@@ -71,9 +71,82 @@
+ #define OPERATION_TIMEOUT ((uint16_t)0xFFFF)
+ /* Private macro -------------------------------------------------------------*/
+ /* Private variables ---------------------------------------------------------*/
++
++// SDCC patch: for passing args to inline ASM (SDCC doesn't support far pointers yet)
++#if defined (_SDCC_)
++ uint32_t asm_addr; // 16b/24b address
++ uint8_t asm_val; // 1B data for r/w data
++#endif // _SDCC_
++
+ /* Private function prototypes -----------------------------------------------*/
++
++// SDCC patch: r/w for 16b/24b addresses (SDCC doesn't support far pointers yet)
++#if defined (_SDCC_)
++ void write_byte_address(uint16_t Address, uint8_t Data); // write single byte to 16b/24b address
++ uint8_t read_byte_address(uint32_t Address); // read single byte from 16b/24b address
++#endif // _SDCC_
++
+ /* Private Constants ---------------------------------------------------------*/
+
++/** @addtogroup FLASH_Private_functions
++ * @{
++ */
++
++#if defined (_SDCC_)
++/**
++ * @brief write single byte to address
++ * @note is required for SDCC, which doesn't yet support far pointers.
++ * For simplicity 16- and 24-bit pointers are treated identically.
++ * @param Address : Address of the byte to copy
++ * Data : Value to be copied
++ * @retval None
++ */
++void write_byte_address(uint16_t Address, uint8_t Data)
++{
++ /* store address & data globally for assember */
++ asm_addr = Address;
++ asm_val = Data;
++
++ /* use inline assembler to write to 16b/24b address */
++__asm
++ ld a,_asm_val
++ ldf [_asm_addr+1].e,a
++__endasm;
++
++}
++
++
++/**
++ * @brief Reads any byte from flash memory
++ * @note is required for SDCC, which doesn't yet support far pointers.
++ * For simplicity 16- and 24-bit pointers are treated identically.
++ * @param Address : Address to read
++ * @retval Value of the byte
++ */
++uint8_t read_byte_address(uint32_t Address)
++{
++ /* store address globally for assember */
++ asm_addr = Address;
++
++ /* use inline assembler to read from 16b/24b address */
++__asm
++ ldf a,[_asm_addr+1].e
++ ld _asm_val,a
++__endasm;
++
++ /* return read byte */
++ return(asm_val);
++
++}
++
++#endif // _SDCC_
++
++/**
++ * @}
++ */
++
++
++
+ /** @addtogroup FLASH_Public_functions
+ * @{
+ */
+@@ -167,7 +240,12 @@ void FLASH_EraseByte(uint32_t Address)
+ assert_param(IS_FLASH_ADDRESS_OK(Address));
+
+ /* Erase byte */
++#ifndef _SDCC_
+ *(PointerAttr uint8_t*) (MemoryAddressCast)Address = FLASH_CLEAR_BYTE;
++#else
++ write_byte_address(Address, FLASH_CLEAR_BYTE); // SDCC patch: required for far pointers
++#endif // _SDCC_
++
+ }
+
+ /**
+@@ -182,7 +260,14 @@ void FLASH_ProgramByte(uint32_t Address,
+ {
+ /* Check parameters */
+ assert_param(IS_FLASH_ADDRESS_OK(Address));
++
++ /* Program byte */
++#ifndef _SDCC_
+ *(PointerAttr uint8_t*) (MemoryAddressCast)Address = Data;
++#else
++ write_byte_address(Address, Data); // SDCC patch: required for far pointers
++#endif // _SDCC_
++
+ }
+
+ /**
+@@ -198,7 +283,11 @@ uint8_t FLASH_ReadByte(uint32_t Address)
+ assert_param(IS_FLASH_ADDRESS_OK(Address));
+
+ /* Read byte */
++#ifndef _SDCC_
+ return(*(PointerAttr uint8_t *) (MemoryAddressCast)Address);
++#else
++ return(read_byte_address(Address)); // SDCC patch: required for far pointers
++#endif // _SDCC_
+ }
+
+ /**
+@@ -218,6 +307,7 @@ void FLASH_ProgramWord(uint32_t Address,
+ FLASH->CR2 |= FLASH_CR2_WPRG;
+ FLASH->NCR2 &= (uint8_t)(~FLASH_NCR2_NWPRG);
+
++#ifndef _SDCC_
+ /* Write one byte - from lowest address*/
+ *((PointerAttr uint8_t*)(MemoryAddressCast)Address) = *((uint8_t*)(&Data));
+ /* Write one byte*/
+@@ -226,6 +316,12 @@ void FLASH_ProgramWord(uint32_t Address,
+ *(((PointerAttr uint8_t*)(MemoryAddressCast)Address) + 2) = *((uint8_t*)(&Data)+2);
+ /* Write one byte - from higher address*/
+ *(((PointerAttr uint8_t*)(MemoryAddressCast)Address) + 3) = *((uint8_t*)(&Data)+3);
++#else
++ write_byte_address(Address , *((uint8_t*)(&Data))); // SDCC patch: required for far pointers
++ write_byte_address(Address + 1, *((uint8_t*)(&Data)+1));
++ write_byte_address(Address + 2, *((uint8_t*)(&Data)+2));
++ write_byte_address(Address + 3, *((uint8_t*)(&Data)+3));
++#endif // _SDCC_
+ }
+
+ /**
+@@ -270,7 +366,7 @@ void FLASH_ProgramOptionByte(uint16_t Ad
+ void FLASH_EraseOptionByte(uint16_t Address)
+ {
+ /* Check parameter */
+- assert_param(IS_OPTION_BYTE_ADDRESS_OK(Address));
++ //assert_param(IS_OPTION_BYTE_ADDRESS_OK(Address));
+
+ /* Enable write access to option bytes */
+ FLASH->CR2 |= FLASH_CR2_OPT;
+@@ -692,7 +788,11 @@ IN_RAM(void FLASH_ProgramBlock(uint16_t
+ /* Copy data bytes from RAM to FLASH memory */
+ for(Count = 0; Count < FLASH_BLOCK_SIZE; Count++)
+ {
++#ifndef _SDCC_
+ *((PointerAttr uint8_t*) (MemoryAddressCast)startaddress + Count) = ((uint8_t)(Buffer[Count]));
++#else
++ write_byte_address(startaddress + Count, ((uint8_t)(Buffer[Count]))); // SDCC patch: required for far pointers
++#endif // _SDCC_
+ }
+ }
+
+Binary files STM8S_SPL_2.2.0/Project/.DS_Store and STM8S_SPL_2.2.0_SDCC/Project/.DS_Store differ
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/ADC2/ADC2_ContinuousConversion/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/ADC2/ADC2_ContinuousConversion/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/ADC2/ADC2_ContinuousConversion/stm8s_it.c 2014-10-21 18:32:04.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/ADC2/ADC2_ContinuousConversion/stm8s_it.c 2015-02-18 20:00:14.000000000 +0100
+@@ -60,12 +60,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/ADC2/ADC2_ContinuousConversion/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/ADC2/ADC2_ContinuousConversion/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/ADC2/ADC2_ContinuousConversion/stm8s_it.h 2014-10-21 18:32:04.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/ADC2/ADC2_ContinuousConversion/stm8s_it.h 2015-02-14 12:28:42.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/AWU/AWU_ActiveHaltMode/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/AWU/AWU_ActiveHaltMode/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/AWU/AWU_ActiveHaltMode/stm8s_it.c 2014-10-21 18:32:00.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/AWU/AWU_ActiveHaltMode/stm8s_it.c 2015-02-18 19:59:28.000000000 +0100
+@@ -61,12 +61,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/AWU/AWU_ActiveHaltMode/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/AWU/AWU_ActiveHaltMode/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/AWU/AWU_ActiveHaltMode/stm8s_it.h 2014-10-21 18:32:00.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/AWU/AWU_ActiveHaltMode/stm8s_it.h 2015-02-14 12:27:50.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/BEEP/BEEP_3SignalsGeneration/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/BEEP/BEEP_3SignalsGeneration/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/BEEP/BEEP_3SignalsGeneration/stm8s_it.c 2014-10-21 18:32:06.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/BEEP/BEEP_3SignalsGeneration/stm8s_it.c 2015-02-18 20:00:00.000000000 +0100
+@@ -61,12 +61,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/BEEP/BEEP_3SignalsGeneration/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/BEEP/BEEP_3SignalsGeneration/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/BEEP/BEEP_3SignalsGeneration/stm8s_it.h 2014-10-21 18:32:06.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/BEEP/BEEP_3SignalsGeneration/stm8s_it.h 2015-02-14 12:28:12.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/CAN/CAN_Networking/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/CAN/CAN_Networking/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/CAN/CAN_Networking/stm8s_it.c 2014-10-21 18:32:02.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/CAN/CAN_Networking/stm8s_it.c 2015-02-18 19:59:46.000000000 +0100
+@@ -62,12 +62,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/CAN/CAN_Networking/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/CAN/CAN_Networking/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/CAN/CAN_Networking/stm8s_it.h 2014-10-21 18:32:02.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/CAN/CAN_Networking/stm8s_it.h 2015-02-14 12:28:00.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/CLK/CLK_ClockSecuritySystem/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/CLK/CLK_ClockSecuritySystem/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/CLK/CLK_ClockSecuritySystem/stm8s_it.c 2014-10-21 18:32:04.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/CLK/CLK_ClockSecuritySystem/stm8s_it.c 2015-02-18 19:59:52.000000000 +0100
+@@ -59,12 +59,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/CLK/CLK_ClockSecuritySystem/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/CLK/CLK_ClockSecuritySystem/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/CLK/CLK_ClockSecuritySystem/stm8s_it.h 2014-10-21 18:32:04.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/CLK/CLK_ClockSecuritySystem/stm8s_it.h 2015-02-14 12:28:46.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/CLK/CLK_ClockSelection/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/CLK/CLK_ClockSelection/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/CLK/CLK_ClockSelection/stm8s_it.c 2014-10-21 18:32:04.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/CLK/CLK_ClockSelection/stm8s_it.c 2015-02-18 20:00:54.000000000 +0100
+@@ -62,12 +62,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/CLK/CLK_ClockSelection/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/CLK/CLK_ClockSelection/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/CLK/CLK_ClockSelection/stm8s_it.h 2014-10-21 18:32:04.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/CLK/CLK_ClockSelection/stm8s_it.h 2015-02-14 12:28:44.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/CLK/CLK_MaxSpeed/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/CLK/CLK_MaxSpeed/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/CLK/CLK_MaxSpeed/stm8s_it.c 2014-10-21 18:32:04.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/CLK/CLK_MaxSpeed/stm8s_it.c 2015-02-18 20:00:06.000000000 +0100
+@@ -61,12 +61,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/CLK/CLK_MaxSpeed/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/CLK/CLK_MaxSpeed/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/CLK/CLK_MaxSpeed/stm8s_it.h 2014-10-21 18:32:04.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/CLK/CLK_MaxSpeed/stm8s_it.h 2015-02-14 12:28:54.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/EXTI/EXTI_InterruptPriority/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/EXTI/EXTI_InterruptPriority/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/EXTI/EXTI_InterruptPriority/stm8s_it.c 2014-10-21 18:32:04.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/EXTI/EXTI_InterruptPriority/stm8s_it.c 2015-02-18 20:00:42.000000000 +0100
+@@ -60,12 +60,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/EXTI/EXTI_InterruptPriority/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/EXTI/EXTI_InterruptPriority/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/EXTI/EXTI_InterruptPriority/stm8s_it.h 2014-10-21 18:32:04.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/EXTI/EXTI_InterruptPriority/stm8s_it.h 2015-02-14 12:27:56.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_ByteReadWriteOperation/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_ByteReadWriteOperation/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_ByteReadWriteOperation/stm8s_it.c 2014-10-21 18:32:02.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_ByteReadWriteOperation/stm8s_it.c 2015-02-18 19:59:48.000000000 +0100
+@@ -71,12 +71,15 @@
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ #endif /*_COSMIC_*/
+
+ /**
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_ByteReadWriteOperation/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_ByteReadWriteOperation/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_ByteReadWriteOperation/stm8s_it.h 2014-10-21 18:32:02.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_ByteReadWriteOperation/stm8s_it.h 2015-02-14 12:28:30.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_DataProgram/main.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_DataProgram/main.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_DataProgram/main.c 2014-10-21 18:32:02.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_DataProgram/main.c 2015-02-15 21:43:32.000000000 +0100
+@@ -92,6 +92,11 @@ void main(void)
+ (int)&__size__FLASH_ProgramBlock);
+ #endif /*_RAISONANCE_*/
+
++#ifdef _SDCC_
++ // SDCC patch: code execution from RAM not yet implemented for SDCC
++ #warning code execution from RAM not yet implemented for SDCC
++#endif /*_SDCC_*/
++
+
+ /* Clock configuration -----------------------------------------*/
+ CLK_Config();
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_DataProgram/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_DataProgram/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_DataProgram/stm8s_it.c 2014-10-21 18:32:02.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_DataProgram/stm8s_it.c 2015-02-18 20:00:34.000000000 +0100
+@@ -71,12 +71,15 @@
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ #endif /*_COSMIC_*/
+
+ /**
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_DataProgram/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_DataProgram/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_DataProgram/stm8s_it.h 2014-10-21 18:32:02.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_DataProgram/stm8s_it.h 2015-02-14 12:27:32.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_WriteWordOperation/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_WriteWordOperation/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_WriteWordOperation/stm8s_it.c 2014-10-21 18:32:02.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_WriteWordOperation/stm8s_it.c 2015-02-18 20:00:46.000000000 +0100
+@@ -71,12 +71,15 @@
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ #endif /*_COSMIC_*/
+
+ /**
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_WriteWordOperation/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_WriteWordOperation/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_WriteWordOperation/stm8s_it.h 2014-10-21 18:32:02.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/FLASH/FLASH_WriteWordOperation/stm8s_it.h 2015-02-14 12:28:20.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/GPIO/GPIO_Toggle/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/GPIO/GPIO_Toggle/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/GPIO/GPIO_Toggle/stm8s_it.c 2014-10-21 18:32:02.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/GPIO/GPIO_Toggle/stm8s_it.c 2015-02-18 19:59:32.000000000 +0100
+@@ -59,12 +59,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/GPIO/GPIO_Toggle/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/GPIO/GPIO_Toggle/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/GPIO/GPIO_Toggle/stm8s_it.h 2014-10-21 18:32:02.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/GPIO/GPIO_Toggle/stm8s_it.h 2015-02-14 12:28:48.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/I2C/I2C_EEPROM/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/I2C/I2C_EEPROM/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/I2C/I2C_EEPROM/stm8s_it.c 2014-10-21 18:32:08.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/I2C/I2C_EEPROM/stm8s_it.c 2015-02-18 19:59:34.000000000 +0100
+@@ -58,12 +58,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine.
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/I2C/I2C_EEPROM/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/I2C/I2C_EEPROM/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/I2C/I2C_EEPROM/stm8s_it.h 2014-10-21 18:32:08.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/I2C/I2C_EEPROM/stm8s_it.h 2015-02-14 12:28:22.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/I2C/I2C_TwoBoards/I2C_DataExchange/Master/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/I2C/I2C_TwoBoards/I2C_DataExchange/Master/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/I2C/I2C_TwoBoards/I2C_DataExchange/Master/stm8s_it.c 2014-10-21 18:32:08.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/I2C/I2C_TwoBoards/I2C_DataExchange/Master/stm8s_it.c 2015-02-18 20:00:20.000000000 +0100
+@@ -79,12 +79,15 @@ extern __IO uint8_t Tx_Idx;
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ #endif /*_COSMIC_*/
+
+ /**
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/I2C/I2C_TwoBoards/I2C_DataExchange/Master/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/I2C/I2C_TwoBoards/I2C_DataExchange/Master/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/I2C/I2C_TwoBoards/I2C_DataExchange/Master/stm8s_it.h 2014-10-21 18:32:08.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/I2C/I2C_TwoBoards/I2C_DataExchange/Master/stm8s_it.h 2015-02-14 12:28:38.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/I2C/I2C_TwoBoards/I2C_DataExchange/Slave/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/I2C/I2C_TwoBoards/I2C_DataExchange/Slave/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/I2C/I2C_TwoBoards/I2C_DataExchange/Slave/stm8s_it.c 2014-10-21 18:32:08.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/I2C/I2C_TwoBoards/I2C_DataExchange/Slave/stm8s_it.c 2015-02-18 19:59:50.000000000 +0100
+@@ -78,12 +78,15 @@ __IO uint16_t Event = 0x00;
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ #endif /*_COSMIC_*/
+
+ /**
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/I2C/I2C_TwoBoards/I2C_DataExchange/Slave/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/I2C/I2C_TwoBoards/I2C_DataExchange/Slave/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/I2C/I2C_TwoBoards/I2C_DataExchange/Slave/stm8s_it.h 2014-10-21 18:32:08.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/I2C/I2C_TwoBoards/I2C_DataExchange/Slave/stm8s_it.h 2015-02-14 12:27:28.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/ITC/ITC_SoftwarePriority/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/ITC/ITC_SoftwarePriority/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/ITC/ITC_SoftwarePriority/stm8s_it.c 2014-10-21 18:31:56.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/ITC/ITC_SoftwarePriority/stm8s_it.c 2015-02-18 19:58:58.000000000 +0100
+@@ -72,12 +72,15 @@ extern void Delay (uint16_t nCount);
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ #endif /*_COSMIC_*/
+
+ /**
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/ITC/ITC_SoftwarePriority/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/ITC/ITC_SoftwarePriority/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/ITC/ITC_SoftwarePriority/stm8s_it.h 2014-10-21 18:31:56.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/ITC/ITC_SoftwarePriority/stm8s_it.h 2015-02-14 12:27:38.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/IWDG/IWDG_Example/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/IWDG/IWDG_Example/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/IWDG/IWDG_Example/stm8s_it.c 2014-10-21 18:31:56.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/IWDG/IWDG_Example/stm8s_it.c 2015-02-18 19:59:56.000000000 +0100
+@@ -58,12 +58,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* Go to infinite loop when the trap occurs */
+ while(1)
+ {}
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/IWDG/IWDG_Example/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/IWDG/IWDG_Example/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/IWDG/IWDG_Example/stm8s_it.h 2014-10-21 18:31:56.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/IWDG/IWDG_Example/stm8s_it.h 2015-02-14 12:27:36.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/RST/RST_IllegalOpcode/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/RST/RST_IllegalOpcode/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/RST/RST_IllegalOpcode/stm8s_it.c 2014-10-21 18:32:04.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/RST/RST_IllegalOpcode/stm8s_it.c 2015-02-18 20:00:50.000000000 +0100
+@@ -61,12 +61,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine.
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/RST/RST_IllegalOpcode/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/RST/RST_IllegalOpcode/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/RST/RST_IllegalOpcode/stm8s_it.h 2014-10-21 18:32:04.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/RST/RST_IllegalOpcode/stm8s_it.h 2015-02-14 12:28:32.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/SPI/SPI_FastCommunicationMicroSD/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/SPI/SPI_FastCommunicationMicroSD/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/SPI/SPI_FastCommunicationMicroSD/stm8s_it.c 2014-10-21 18:31:58.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/SPI/SPI_FastCommunicationMicroSD/stm8s_it.c 2015-02-18 19:59:22.000000000 +0100
+@@ -71,12 +71,15 @@
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ #endif /*_COSMIC_*/
+
+ /**
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/SPI/SPI_FastCommunicationMicroSD/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/SPI/SPI_FastCommunicationMicroSD/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/SPI/SPI_FastCommunicationMicroSD/stm8s_it.h 2014-10-21 18:31:58.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/SPI/SPI_FastCommunicationMicroSD/stm8s_it.h 2015-02-14 12:27:44.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/SPI/SPI_FullDuplexUART1/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/SPI/SPI_FullDuplexUART1/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/SPI/SPI_FullDuplexUART1/stm8s_it.c 2014-10-21 18:31:58.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/SPI/SPI_FullDuplexUART1/stm8s_it.c 2015-02-18 20:00:04.000000000 +0100
+@@ -70,12 +70,15 @@
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ #endif /*_COSMIC_*/
+
+ /**
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/SPI/SPI_FullDuplexUART1/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/SPI/SPI_FullDuplexUART1/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/SPI/SPI_FullDuplexUART1/stm8s_it.h 2014-10-21 18:31:58.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/SPI/SPI_FullDuplexUART1/stm8s_it.h 2015-02-14 12:27:42.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/SPI/SPI_SimplexLCD/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/SPI/SPI_SimplexLCD/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/SPI/SPI_SimplexLCD/stm8s_it.c 2014-10-21 18:31:58.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/SPI/SPI_SimplexLCD/stm8s_it.c 2015-02-18 19:59:36.000000000 +0100
+@@ -58,12 +58,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/SPI/SPI_SimplexLCD/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/SPI/SPI_SimplexLCD/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/SPI/SPI_SimplexLCD/stm8s_it.h 2014-10-21 18:31:58.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/SPI/SPI_SimplexLCD/stm8s_it.h 2015-02-14 12:27:40.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_6Steps/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_6Steps/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_6Steps/stm8s_it.c 2014-10-21 18:32:06.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_6Steps/stm8s_it.c 2015-02-18 20:00:22.000000000 +0100
+@@ -62,12 +62,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_6Steps/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_6Steps/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_6Steps/stm8s_it.h 2014-10-21 18:32:06.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_6Steps/stm8s_it.h 2015-02-14 12:27:22.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_7PWM_Output/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_7PWM_Output/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_7PWM_Output/stm8s_it.c 2014-10-21 18:32:06.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_7PWM_Output/stm8s_it.c 2015-02-18 20:00:56.000000000 +0100
+@@ -59,12 +59,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_7PWM_Output/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_7PWM_Output/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_7PWM_Output/stm8s_it.h 2014-10-21 18:32:06.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_7PWM_Output/stm8s_it.h 2015-02-14 12:28:02.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_ComplementarySignals_DeadTime_Break_Lock/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_ComplementarySignals_DeadTime_Break_Lock/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_ComplementarySignals_DeadTime_Break_Lock/stm8s_it.c 2014-10-21 18:32:06.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_ComplementarySignals_DeadTime_Break_Lock/stm8s_it.c 2015-02-18 19:58:56.000000000 +0100
+@@ -59,12 +59,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_ComplementarySignals_DeadTime_Break_Lock/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_ComplementarySignals_DeadTime_Break_Lock/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_ComplementarySignals_DeadTime_Break_Lock/stm8s_it.h 2014-10-21 18:32:04.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_ComplementarySignals_DeadTime_Break_Lock/stm8s_it.h 2015-02-14 12:28:18.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_Input_Capture/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_Input_Capture/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_Input_Capture/stm8s_it.c 2014-10-21 18:32:06.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_Input_Capture/stm8s_it.c 2015-02-18 19:59:54.000000000 +0100
+@@ -59,12 +59,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_Input_Capture/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_Input_Capture/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_Input_Capture/stm8s_it.h 2014-10-21 18:32:06.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_Input_Capture/stm8s_it.h 2015-02-14 12:28:52.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_Sinewave_Generation/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_Sinewave_Generation/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_Sinewave_Generation/stm8s_it.c 2014-10-21 18:32:06.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_Sinewave_Generation/stm8s_it.c 2015-02-18 20:00:26.000000000 +0100
+@@ -61,12 +61,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_Sinewave_Generation/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_Sinewave_Generation/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_Sinewave_Generation/stm8s_it.h 2014-10-21 18:32:06.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM1/TIM1_Sinewave_Generation/stm8s_it.h 2015-02-14 12:28:50.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM2/TIM2_OC_ActiveMode/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM2/TIM2_OC_ActiveMode/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM2/TIM2_OC_ActiveMode/stm8s_it.c 2014-10-21 18:32:08.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM2/TIM2_OC_ActiveMode/stm8s_it.c 2015-02-18 19:59:38.000000000 +0100
+@@ -59,12 +59,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM2/TIM2_OC_ActiveMode/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM2/TIM2_OC_ActiveMode/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM2/TIM2_OC_ActiveMode/stm8s_it.h 2014-10-21 18:32:06.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM2/TIM2_OC_ActiveMode/stm8s_it.h 2015-02-14 12:28:24.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM2/TIM2_OC_InactiveMode/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM2/TIM2_OC_InactiveMode/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM2/TIM2_OC_InactiveMode/stm8s_it.c 2014-10-21 18:32:06.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM2/TIM2_OC_InactiveMode/stm8s_it.c 2015-02-18 20:00:32.000000000 +0100
+@@ -59,12 +59,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM2/TIM2_OC_InactiveMode/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM2/TIM2_OC_InactiveMode/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM2/TIM2_OC_InactiveMode/stm8s_it.h 2014-10-21 18:32:06.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM2/TIM2_OC_InactiveMode/stm8s_it.h 2015-02-14 12:28:06.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM2/TIM2_PWM_DutyCycleConfiguration/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM2/TIM2_PWM_DutyCycleConfiguration/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM2/TIM2_PWM_DutyCycleConfiguration/stm8s_it.c 2014-10-21 18:32:06.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM2/TIM2_PWM_DutyCycleConfiguration/stm8s_it.c 2015-02-18 20:00:48.000000000 +0100
+@@ -59,12 +59,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM2/TIM2_PWM_DutyCycleConfiguration/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM2/TIM2_PWM_DutyCycleConfiguration/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM2/TIM2_PWM_DutyCycleConfiguration/stm8s_it.h 2014-10-21 18:32:06.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM2/TIM2_PWM_DutyCycleConfiguration/stm8s_it.h 2015-02-14 12:28:56.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM4/TIM4_TimeBase/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM4/TIM4_TimeBase/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM4/TIM4_TimeBase/stm8s_it.c 2014-10-21 18:32:08.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM4/TIM4_TimeBase/stm8s_it.c 2015-02-18 20:00:30.000000000 +0100
+@@ -60,12 +60,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM4/TIM4_TimeBase/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM4/TIM4_TimeBase/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM4/TIM4_TimeBase/stm8s_it.h 2014-10-21 18:32:08.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM4/TIM4_TimeBase/stm8s_it.h 2015-02-14 12:28:34.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM5/TIM5_Synchronisation_With_TIM6/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM5/TIM5_Synchronisation_With_TIM6/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM5/TIM5_Synchronisation_With_TIM6/stm8s_it.c 2014-10-21 18:32:08.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM5/TIM5_Synchronisation_With_TIM6/stm8s_it.c 2015-02-18 19:59:44.000000000 +0100
+@@ -59,12 +59,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM5/TIM5_Synchronisation_With_TIM6/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM5/TIM5_Synchronisation_With_TIM6/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/TIM5/TIM5_Synchronisation_With_TIM6/stm8s_it.h 2014-10-21 18:32:08.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/TIM5/TIM5_Synchronisation_With_TIM6/stm8s_it.h 2015-02-14 12:27:26.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_HalfDuplex/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_HalfDuplex/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_HalfDuplex/stm8s_it.c 2014-10-21 18:31:58.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_HalfDuplex/stm8s_it.c 2015-02-18 20:00:44.000000000 +0100
+@@ -70,12 +70,15 @@
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ #endif /*_COSMIC_*/
+
+ /**
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_HalfDuplex/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_HalfDuplex/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_HalfDuplex/stm8s_it.h 2014-10-21 18:31:58.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_HalfDuplex/stm8s_it.h 2015-02-14 12:27:54.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_HyperTerminal_Interrupt/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_HyperTerminal_Interrupt/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_HyperTerminal_Interrupt/stm8s_it.c 2014-10-21 18:32:00.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_HyperTerminal_Interrupt/stm8s_it.c 2015-02-18 20:00:02.000000000 +0100
+@@ -65,12 +65,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_HyperTerminal_Interrupt/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_HyperTerminal_Interrupt/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_HyperTerminal_Interrupt/stm8s_it.h 2014-10-21 18:32:00.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_HyperTerminal_Interrupt/stm8s_it.h 2015-02-14 12:28:16.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_Interrupt/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_Interrupt/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_Interrupt/stm8s_it.c 2014-10-21 18:32:00.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_Interrupt/stm8s_it.c 2015-02-18 19:59:58.000000000 +0100
+@@ -77,12 +77,15 @@ extern void Delay (uint16_t nCount);
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ #endif /*_COSMIC_*/
+
+ /**
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_Interrupt/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_Interrupt/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_Interrupt/stm8s_it.h 2014-10-21 18:32:00.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_Interrupt/stm8s_it.h 2015-02-14 12:27:58.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_IrDA/Receive/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_IrDA/Receive/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_IrDA/Receive/stm8s_it.c 2014-10-21 18:32:00.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_IrDA/Receive/stm8s_it.c 2015-02-18 20:00:18.000000000 +0100
+@@ -59,12 +59,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_IrDA/Receive/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_IrDA/Receive/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_IrDA/Receive/stm8s_it.h 2014-10-21 18:32:00.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_IrDA/Receive/stm8s_it.h 2015-02-14 12:28:40.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_IrDA/Transmit/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_IrDA/Transmit/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_IrDA/Transmit/stm8s_it.c 2014-10-21 18:32:00.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_IrDA/Transmit/stm8s_it.c 2015-02-18 19:59:18.000000000 +0100
+@@ -59,12 +59,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_IrDA/Transmit/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_IrDA/Transmit/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_IrDA/Transmit/stm8s_it.h 2014-10-21 18:32:00.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_IrDA/Transmit/stm8s_it.h 2015-02-14 12:28:04.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_MultiProcessor/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_MultiProcessor/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_MultiProcessor/stm8s_it.c 2014-10-21 18:31:58.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_MultiProcessor/stm8s_it.c 2015-02-18 20:00:10.000000000 +0100
+@@ -59,12 +59,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_MultiProcessor/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_MultiProcessor/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_MultiProcessor/stm8s_it.h 2014-10-21 18:31:58.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_MultiProcessor/stm8s_it.h 2015-02-14 12:27:52.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_Printf/main.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_Printf/main.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_Printf/main.c 2014-10-21 18:32:00.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_Printf/main.c 2015-02-15 21:41:46.000000000 +0100
+@@ -41,6 +41,9 @@
+ #elif defined (_COSMIC_)
+ #define PUTCHAR_PROTOTYPE char putchar (char c)
+ #define GETCHAR_PROTOTYPE char getchar (void)
++#elif defined (_SDCC_) // SDCC Patch: declared same as stdio.h
++#define PUTCHAR_PROTOTYPE void putchar (char c)
++#define GETCHAR_PROTOTYPE char getchar (void)
+ #else /* _IAR_ */
+ #define PUTCHAR_PROTOTYPE int putchar (int c)
+ #define GETCHAR_PROTOTYPE int getchar (void)
+@@ -96,7 +99,9 @@ PUTCHAR_PROTOTYPE
+ /* Loop until the end of transmission */
+ while (UART1_GetFlagStatus(UART1_FLAG_TXE) == RESET);
+
++#if !defined(_SDCC_) // SDCC patch: declared as void putchar(char)
+ return (c);
++#endif
+ }
+
+ /**
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_Printf/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_Printf/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_Printf/stm8s_it.c 2014-10-21 18:32:00.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_Printf/stm8s_it.c 2015-02-18 20:00:52.000000000 +0100
+@@ -72,12 +72,15 @@
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ #endif /*_COSMIC_*/
+
+ /**
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_Printf/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_Printf/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_Printf/stm8s_it.h 2014-10-21 18:32:00.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_Printf/stm8s_it.h 2015-02-14 12:28:36.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_SmartCard/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_SmartCard/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_SmartCard/stm8s_it.c 2014-10-21 18:32:00.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_SmartCard/stm8s_it.c 2015-02-18 20:00:32.000000000 +0100
+@@ -59,12 +59,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_SmartCard/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_SmartCard/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_SmartCard/stm8s_it.h 2014-10-21 18:32:00.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_SmartCard/stm8s_it.h 2015-02-14 12:28:14.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_Synchronous/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_Synchronous/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_Synchronous/stm8s_it.c 2014-10-21 18:31:58.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_Synchronous/stm8s_it.c 2015-02-18 19:59:42.000000000 +0100
+@@ -70,12 +70,15 @@
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ #endif /*_COSMIC_*/
+
+ /**
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_Synchronous/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_Synchronous/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/UART1/UART1_Synchronous/stm8s_it.h 2014-10-21 18:31:58.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/UART1/UART1_Synchronous/stm8s_it.h 2015-02-14 12:27:46.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/WWDG/WWDG_Example/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/WWDG/WWDG_Example/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/WWDG/WWDG_Example/stm8s_it.c 2014-10-21 18:32:02.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/WWDG/WWDG_Example/stm8s_it.c 2015-02-18 19:59:12.000000000 +0100
+@@ -63,12 +63,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
+ }
++#endif
++
+ /**
+ * @brief Top Level Interrupt routine
+ * @param None
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/WWDG/WWDG_Example/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/WWDG/WWDG_Example/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Examples/WWDG/WWDG_Example/stm8s_it.h 2014-10-21 18:32:02.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Examples/WWDG/WWDG_Example/stm8s_it.h 2015-02-14 12:28:10.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Template/SDCC/Makefile STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Template/SDCC/Makefile
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Template/SDCC/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Template/SDCC/Makefile 2015-02-19 11:21:02.000000000 +0100
+@@ -0,0 +1,84 @@
++#######
++# makefile for STM8S_StdPeriph_Lib and SDCC compiler
++#
++# note: paths in this Makefile assume unmodified SPL folder structure
++#
++# usage:
++# 1. if SDCC not in PATH set path -> CC_ROOT
++# 2. set correct STM8 device -> DEVICE
++# 3. set project paths -> PRJ_ROOT, PRJ_SRC_DIR, PRJ_INC_DIR
++# 4. set SPL root path -> SPL_ROOT
++# 5. include required SPL modules -> SPL_SOURCE
++# 6. include required STM8S_EVAL modules -> EVAL_SOURCE, EVAL_128K_SOURCE, EVAL_COMM_SOURCE
++#
++#######
++
++# STM8 device (default is STM8 discovery board)
++DEVICE=STM8S105
++
++# trap handling requires SDCC >=v3.4.3
++SKIP_TRAPS = 1
++
++# set compiler path & parameters
++CC_ROOT =
++CC = sdcc
++CFLAGS = -mstm8 -lstm8 --opt-code-size
++
++# required for some examples for STM8S EVAL board
++CFLAGS += -DUSE_STM8_128_EVAL
++
++# set output folder and target name
++OUTPUT_DIR = ./$(DEVICE)
++TARGET = $(OUTPUT_DIR)/$(DEVICE).hex
++
++# set project folder and files (all *.c)
++PRJ_ROOT = ..
++PRJ_SRC_DIR = $(PRJ_ROOT)
++PRJ_INC_DIR = $(PRJ_ROOT)
++PRJ_SOURCE = $(notdir $(wildcard $(PRJ_SRC_DIR)/*.c))
++PRJ_OBJECTS := $(addprefix $(OUTPUT_DIR)/, $(PRJ_SOURCE:.c=.rel))
++
++# set SPL paths
++SPL_ROOT = ../../..
++SPL_SRC_DIR = $(SPL_ROOT)/Libraries/STM8S_StdPeriph_Driver/src
++SPL_INC_DIR = $(SPL_ROOT)/Libraries/STM8S_StdPeriph_Driver/inc
++SPL_SOURCE = stm8s_gpio.c
++SPL_OBJECTS := $(addprefix $(OUTPUT_DIR)/, $(SPL_SOURCE:.c=.rel))
++
++# set STM8S_EVAL Utilities paths
++EVAL_DIR = $(SPL_ROOT)/Utilities/STM8S_EVAL
++EVAL_SOURCE =
++EVAL_OBJECTS := $(addprefix $(OUTPUT_DIR)/, $(EVAL_SOURCE:.c=.rel))
++
++# set STM8S_EVAL 128K paths
++EVAL_128K_DIR = $(EVAL_DIR)/STM8-128_EVAL
++EVAL_128K_SOURCE =
++EVAL_128K_OBJECTS := $(addprefix $(OUTPUT_DIR)/, $(EVAL_128K_SOURCE:.c=.rel))
++
++# set STM8S_EVAL Common paths
++EVAL_COMM_DIR = $(EVAL_DIR)/Common
++EVAL_COMM_SOURCE =
++EVAL_COMM_OBJECTS := $(addprefix $(OUTPUT_DIR)/, $(EVAL_COMM_SOURCE:.c=.rel))
++
++
++# collect all include folders
++INCLUDE = -I$(PRJ_SRC_DIR) -I$(SPL_INC_DIR) -I$(EVAL_DIR) -I$(EVAL_128K_DIR) -I$(EVAL_COMM_DIR)
++
++# collect all source directories
++VPATH=$(PRJ_SRC_DIR):$(SPL_SRC_DIR):$(EVAL_DIR):$(EVAL_128K_DIR):$(EVAL_COMM_DIR)
++
++.PHONY: clean
++
++all: $(TARGET)
++
++$(OUTPUT_DIR)/%.rel: %.c
++ $(CC) $(CFLAGS) $(INCLUDE) -D$(DEVICE) -DSKIP_TRAPS=$(SKIP_TRAPS) -c $?
++
++$(OUTPUT_DIR)/%.rel: %.c
++ $(CC) $(CFLAGS) $(INCLUDE) -D$(DEVICE) -DSKIP_TRAPS=$(SKIP_TRAPS) -c $? -o $@
++
++$(TARGET): $(PRJ_OBJECTS) $(SPL_OBJECTS) $(EVAL_OBJECTS) $(EVAL_128K_OBJECTS) $(EVAL_COMM_OBJECTS)
++ $(CC) $(CFLAGS) -o $(TARGET) $^
++
++clean:
++ rm -fr $(OUTPUT_DIR)
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Template/SDCC/_OSX_clean.command STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Template/SDCC/_OSX_clean.command
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Template/SDCC/_OSX_clean.command 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Template/SDCC/_OSX_clean.command 2015-02-19 08:24:22.000000000 +0100
+@@ -0,0 +1,22 @@
++#!/bin/bash
++
++# change to current working directory
++cd `dirname $0`
++
++# just for output
++echo off
++clear
++
++# target device
++DEVICE=STM8AF52Ax
++
++# set make tool (if not in PATH, set complete path)
++MAKE=make
++
++# use Makefiles to delete outputs
++#$MAKE -f Makefile DEVICE=$DEVICE clean
++
++# also delete output folders
++rm -fr $DEVICE
++
++echo on
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Template/SDCC/_OSX_compile_run.command STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Template/SDCC/_OSX_compile_run.command
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Template/SDCC/_OSX_compile_run.command 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Template/SDCC/_OSX_compile_run.command 2015-02-14 15:45:38.000000000 +0100
+@@ -0,0 +1,51 @@
++#!/bin/bash
++
++# change to current working directory
++cd `dirname $0`
++
++# just for output
++echo off
++clear
++
++# target device
++DEVICE=STM8AF52Ax
++
++# set make tool (if not in PATH, set complete path)
++MAKE=make
++
++# set STM8 flasher tool (if not in PATH, set complete path)
++LOADER=~/Public/GitHub/STM8_serial_flasher/STM8_serial_flasher
++
++# set COM port for flash loader
++PORT=/dev/tty.usbserial-A4009I0O
++
++# target hexfile
++TARGET=./$DEVICE/$DEVICE.hex
++
++# make project; check for output folder (=device name)
++echo "make application"
++test -d $DEVICE || mkdir $DEVICE
++$MAKE -f Makefile DEVICE=$DEVICE
++if [ $? -ne 0 ]; then
++ echo " "
++ read -p "press key to close window..."
++ echo on
++ exit
++fi
++echo "done with application"
++echo " "
++
++# ask user to put STM8 to bootloader mode
++echo " "
++echo " "
++echo "reset STM8 and press return"
++echo " "
++read -p ""
++
++# upload using STM8 bootloader (use flash tool from GitHub)
++$LOADER -p $PORT -f $TARGET -q
++
++
++echo " "
++read -p "press key to close window..."
++echo on
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Template/SDCC/_UX_clean.sh STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Template/SDCC/_UX_clean.sh
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Template/SDCC/_UX_clean.sh 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Template/SDCC/_UX_clean.sh 2015-02-19 08:24:22.000000000 +0100
+@@ -0,0 +1,22 @@
++#!/bin/bash
++
++# change to current working directory
++cd `dirname $0`
++
++# just for output
++echo off
++clear
++
++# target device
++DEVICE=STM8AF52Ax
++
++# set make tool (if not in PATH, set complete path)
++MAKE=make
++
++# use Makefiles to delete outputs
++#$MAKE -f Makefile DEVICE=$DEVICE clean
++
++# also delete output folders
++rm -fr $DEVICE
++
++echo on
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Template/SDCC/_UX_compile_run.sh STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Template/SDCC/_UX_compile_run.sh
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Template/SDCC/_UX_compile_run.sh 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Template/SDCC/_UX_compile_run.sh 2015-02-14 15:45:38.000000000 +0100
+@@ -0,0 +1,51 @@
++#!/bin/bash
++
++# change to current working directory
++cd `dirname $0`
++
++# just for output
++echo off
++clear
++
++# target device
++DEVICE=STM8AF52Ax
++
++# set make tool (if not in PATH, set complete path)
++MAKE=make
++
++# set STM8 flasher tool (if not in PATH, set complete path)
++LOADER=~/Public/GitHub/STM8_serial_flasher/STM8_serial_flasher
++
++# set COM port for flash loader
++PORT=/dev/tty.usbserial-A4009I0O
++
++# target hexfile
++TARGET=./$DEVICE/$DEVICE.hex
++
++# make project; check for output folder (=device name)
++echo "make application"
++test -d $DEVICE || mkdir $DEVICE
++$MAKE -f Makefile DEVICE=$DEVICE
++if [ $? -ne 0 ]; then
++ echo " "
++ read -p "press key to close window..."
++ echo on
++ exit
++fi
++echo "done with application"
++echo " "
++
++# ask user to put STM8 to bootloader mode
++echo " "
++echo " "
++echo "reset STM8 and press return"
++echo " "
++read -p ""
++
++# upload using STM8 bootloader (use flash tool from GitHub)
++$LOADER -p $PORT -f $TARGET -q
++
++
++echo " "
++read -p "press key to close window..."
++echo on
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Template/SDCC/_WIN_clean.bat STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Template/SDCC/_WIN_clean.bat
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Template/SDCC/_WIN_clean.bat 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Template/SDCC/_WIN_clean.bat 2015-02-19 08:19:58.000000000 +0100
+@@ -0,0 +1,17 @@
++REM just for output
++echo off
++cls
++
++REM target device
++set DEVICE=STM8AF52Ax
++
++REM set make tool (if not in PATH, set complete path)
++set MAKE=mingw32-make
++
++REM use makefile to delete sdcc output
++REM %MAKE% -f Makefile DEVICE=%DEVICE% clean
++
++REM also delete output folders
++rd /S /Q %DEVICE%
++
++echo on
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Template/SDCC/_WIN_compile_run.bat STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Template/SDCC/_WIN_compile_run.bat
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Template/SDCC/_WIN_compile_run.bat 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Template/SDCC/_WIN_compile_run.bat 2015-02-19 08:28:32.000000000 +0100
+@@ -0,0 +1,46 @@
++REM just for output
++echo off
++cls
++
++REM target device
++set DEVICE=STM8AF52Ax
++
++REM set make tool (if not in PATH, set complete path)
++set MAKE=mingw32-make
++
++REM set path to STM8 flasher tool (own or by STM)
++set LOADER=C:\Users\ick2bue\Documents\STM8_serial_flasher\STM8_serial_flasher.exe
++REM set LOADER=..\STM8_serial_flasher\STM8_serial_flasher.exe
++REM set LOADER="C:\Program Files\STMicroelectronics\Software\Flash Loader Demonstrator\STMFlashLoader.exe"
++
++REM set COM port for flash loader
++set PORT=7
++
++REM name of target hexfile
++set TARGET=.\%DEVICE%\%DEVICE%.hex
++
++REM compile and link
++echo make application
++if not exist %DEVICE% mkdir %DEVICE%
++%MAKE% -f Makefile DEVICE=%DEVICE%
++IF ERRORLEVEL 1 GOTO END
++echo done with application
++echo.
++
++REM GOTO END
++
++REM ask user to put STM8 to bootloader mode
++echo.
++echo.
++echo reset STM8 and press return
++echo.
++PAUSE
++
++REM upload using STM8 bootloader (use own flash tool or STMFlashLoader by STM)
++%LOADER% -p COM%PORT% -f %TARGET% -q
++REM %LOADER% -c --pn %PORT% --br 115200 --co OFF --to 5000 -Dtr --Hi -Dtr --Lo -i STM8_128K -d --fn %TARGET% --v --o -r --a 0x8000
++
++REM clean up
++:END
++PAUSE
++echo on
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Template/STVD/Cosmic/_WIN_upload.bat STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Template/STVD/Cosmic/_WIN_upload.bat
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Template/STVD/Cosmic/_WIN_upload.bat 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Template/STVD/Cosmic/_WIN_upload.bat 2015-02-19 15:50:44.000000000 +0100
+@@ -0,0 +1,30 @@
++REM just for output
++echo off
++cls
++
++REM set make tool (if not in PATH, set complete path)
++set MAKE=mingw32-make
++
++REM set path to STM8 flasher tool (own or by STM)
++set LOADER=C:\Users\ick2bue\Documents\STM8_serial_flasher\STM8_serial_flasher.exe
++
++REM set COM port for flash loader
++set PORT=7
++
++REM name of target hexfile
++set TARGET=Debug\stm8af52ax.s19
++
++REM ask user to put STM8 to bootloader mode
++echo.
++echo.
++echo reset STM8 and press return
++echo.
++PAUSE
++
++REM upload using STM8 bootloader (use own flash tool or STMFlashLoader by STM)
++%LOADER% -p COM%PORT% -f %TARGET% -q
++
++REM clean up
++:END
++PAUSE
++echo on
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Template/readme.txt STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Template/readme.txt
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Template/readme.txt 2014-10-21 18:31:56.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Template/readme.txt 2015-01-10 20:00:24.000000000 +0100
+@@ -36,7 +36,7 @@ Standard Peripherals Library.
+
+ @par Directory contents
+
+-This folder contains standard template projects for EWSTM8, STVD with Cosmic,
++This folder contains standard template projects for EWSTM8, SDCC, STVD with Cosmic,
+ STVD with raisonance and RIDE toolchains that compile the needed STM8S/A Standard
+ Peripheral's drivers plus all the user-modifiable files that are necessary to
+ create a new project.
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Template/stm8s_it.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Template/stm8s_it.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Template/stm8s_it.c 2014-10-21 18:31:56.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Template/stm8s_it.c 2015-03-08 19:15:49.000000000 +0100
+@@ -55,6 +55,7 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+ #endif /*_COSMIC_*/
+
+@@ -63,12 +64,15 @@ INTERRUPT_HANDLER(NonHandledInterrupt, 2
+ * @param None
+ * @retval None
+ */
++#if !defined(_SDCC_) || (SKIP_TRAPS!=1) // SDCC patch: trap handling requires SDCC >=v3.4.3
+ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
+ {
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
++#endif
+
+ /**
+ * @brief Top Level Interrupt routine.
+@@ -81,6 +85,7 @@ INTERRUPT_HANDLER(TLI_IRQHandler, 0)
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+
+ /**
+@@ -93,6 +98,7 @@ INTERRUPT_HANDLER(AWU_IRQHandler, 1)
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+
+ /**
+@@ -105,6 +111,7 @@ INTERRUPT_HANDLER(CLK_IRQHandler, 2)
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+
+ /**
+@@ -117,6 +124,7 @@ INTERRUPT_HANDLER(EXTI_PORTA_IRQHandler,
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+
+ /**
+@@ -129,6 +137,7 @@ INTERRUPT_HANDLER(EXTI_PORTB_IRQHandler,
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+
+ /**
+@@ -141,6 +150,7 @@ INTERRUPT_HANDLER(EXTI_PORTC_IRQHandler,
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+
+ /**
+@@ -153,6 +163,7 @@ INTERRUPT_HANDLER(EXTI_PORTD_IRQHandler,
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+
+ /**
+@@ -165,6 +176,7 @@ INTERRUPT_HANDLER(EXTI_PORTE_IRQHandler,
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+
+ #if defined (STM8S903) || defined (STM8AF622x)
+@@ -178,6 +190,7 @@ INTERRUPT_HANDLER(EXTI_PORTE_IRQHandler,
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+ #endif /* (STM8S903) || (STM8AF622x) */
+
+@@ -192,6 +205,7 @@ INTERRUPT_HANDLER(EXTI_PORTE_IRQHandler,
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+
+ /**
+@@ -204,6 +218,7 @@ INTERRUPT_HANDLER(EXTI_PORTE_IRQHandler,
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+ #endif /* (STM8S208) || (STM8AF52Ax) */
+
+@@ -217,6 +232,7 @@ INTERRUPT_HANDLER(SPI_IRQHandler, 10)
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+
+ /**
+@@ -229,6 +245,7 @@ INTERRUPT_HANDLER(TIM1_UPD_OVF_TRG_BRK_I
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+
+ /**
+@@ -241,6 +258,7 @@ INTERRUPT_HANDLER(TIM1_CAP_COM_IRQHandle
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+
+ #if defined (STM8S903) || defined (STM8AF622x)
+@@ -254,6 +272,7 @@ INTERRUPT_HANDLER(TIM1_CAP_COM_IRQHandle
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+
+ /**
+@@ -266,6 +285,7 @@ INTERRUPT_HANDLER(TIM1_CAP_COM_IRQHandle
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+
+ #else /* (STM8S208) || (STM8S207) || (STM8S105) || (STM8S103) || (STM8AF62Ax) || (STM8AF52Ax) || (STM8AF626x) */
+@@ -279,6 +299,7 @@ INTERRUPT_HANDLER(TIM1_CAP_COM_IRQHandle
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+
+ /**
+@@ -291,6 +312,7 @@ INTERRUPT_HANDLER(TIM1_CAP_COM_IRQHandle
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+ #endif /* (STM8S903) || (STM8AF622x) */
+
+@@ -306,6 +328,7 @@ INTERRUPT_HANDLER(TIM1_CAP_COM_IRQHandle
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+
+ /**
+@@ -318,6 +341,7 @@ INTERRUPT_HANDLER(TIM1_CAP_COM_IRQHandle
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+ #endif /* (STM8S208) || (STM8S207) || (STM8S105) || (STM8AF62Ax) || (STM8AF52Ax) || (STM8AF626x) */
+
+@@ -333,6 +357,7 @@ INTERRUPT_HANDLER(TIM1_CAP_COM_IRQHandle
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+
+ /**
+@@ -345,6 +370,7 @@ INTERRUPT_HANDLER(TIM1_CAP_COM_IRQHandle
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+ #endif /* (STM8S208) || (STM8S207) || (STM8S103) || (STM8S903) || (STM8AF62Ax) || (STM8AF52Ax) */
+
+@@ -359,6 +385,7 @@ INTERRUPT_HANDLER(TIM1_CAP_COM_IRQHandle
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+
+ /**
+@@ -371,6 +398,7 @@ INTERRUPT_HANDLER(TIM1_CAP_COM_IRQHandle
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+ #endif /* (STM8AF622x) */
+
+@@ -384,6 +412,7 @@ INTERRUPT_HANDLER(I2C_IRQHandler, 19)
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+
+ #if defined(STM8S105) || defined(STM8S005) || defined (STM8AF626x)
+@@ -397,6 +426,7 @@ INTERRUPT_HANDLER(I2C_IRQHandler, 19)
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+
+ /**
+@@ -409,6 +439,7 @@ INTERRUPT_HANDLER(I2C_IRQHandler, 19)
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+ #endif /* (STM8S105) || (STM8AF626x) */
+
+@@ -423,6 +454,7 @@ INTERRUPT_HANDLER(I2C_IRQHandler, 19)
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+
+ /**
+@@ -435,6 +467,7 @@ INTERRUPT_HANDLER(I2C_IRQHandler, 19)
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+ #endif /* (STM8S208) || (STM8S207) || (STM8AF52Ax) || (STM8AF62Ax) */
+
+@@ -449,6 +482,7 @@ INTERRUPT_HANDLER(I2C_IRQHandler, 19)
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+ #else /* STM8S105 or STM8S103 or STM8S903 or STM8AF626x or STM8AF622x */
+ /**
+@@ -463,6 +497,7 @@ INTERRUPT_HANDLER(I2C_IRQHandler, 19)
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+ #endif /* (STM8S208) || (STM8S207) || (STM8AF52Ax) || (STM8AF62Ax) */
+
+@@ -477,6 +512,7 @@ INTERRUPT_HANDLER(TIM6_UPD_OVF_TRG_IRQHa
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+ #else /* STM8S208 or STM8S207 or STM8S105 or STM8S103 or STM8AF52Ax or STM8AF62Ax or STM8AF626x */
+ /**
+@@ -489,6 +525,7 @@ INTERRUPT_HANDLER(TIM6_UPD_OVF_TRG_IRQHa
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+ #endif /* (STM8S903) || (STM8AF622x)*/
+
+@@ -502,6 +539,7 @@ INTERRUPT_HANDLER(EEPROM_EEC_IRQHandler,
+ /* In order to detect unexpected events during development,
+ it is recommended to set a breakpoint on the following instruction.
+ */
++ return;
+ }
+
+ /**
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Template/stm8s_it.h STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Template/stm8s_it.h
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Template/stm8s_it.h 2014-10-21 18:31:56.000000000 +0200
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Template/stm8s_it.h 2015-02-14 12:26:30.000000000 +0100
+@@ -41,7 +41,7 @@
+ INTERRUPT void NonHandledInterrupt(void);
+ #endif /* _COSMIC_ */
+
+-#ifndef _RAISONANCE_
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
+ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
+ INTERRUPT void TLI_IRQHandler(void); /* TLI */
+ INTERRUPT void AWU_IRQHandler(void); /* AWU */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Template/stm8s_it.h~RF13fd31d.TMP STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Template/stm8s_it.h~RF13fd31d.TMP
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_Template/stm8s_it.h~RF13fd31d.TMP 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_Template/stm8s_it.h~RF13fd31d.TMP 2015-02-14 12:26:30.000000000 +0100
+@@ -0,0 +1,122 @@
++/**
++ ******************************************************************************
++ * @file stm8s_it.h
++ * @author MCD Application Team
++ * @version V2.2.0
++ * @date 30-September-2014
++ * @brief This file contains the headers of the interrupt handlers
++ ******************************************************************************
++ * @attention
++ *
++ * <h2><center>&copy; COPYRIGHT 2014 STMicroelectronics</center></h2>
++ *
++ * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
++ * You may not use this file except in compliance with the License.
++ * You may obtain a copy of the License at:
++ *
++ * http://www.st.com/software_license_agreement_liberty_v2
++ *
++ * Unless required by applicable law or agreed to in writing, software
++ * distributed under the License is distributed on an "AS IS" BASIS,
++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ * See the License for the specific language governing permissions and
++ * limitations under the License.
++ *
++ ******************************************************************************
++ */
++
++/* Define to prevent recursive inclusion -------------------------------------*/
++#ifndef __STM8S_IT_H
++#define __STM8S_IT_H
++
++/* Includes ------------------------------------------------------------------*/
++#include "stm8s.h"
++
++/* Exported types ------------------------------------------------------------*/
++/* Exported constants --------------------------------------------------------*/
++/* Exported macro ------------------------------------------------------------*/
++/* Exported functions ------------------------------------------------------- */
++#ifdef _COSMIC_
++ void _stext(void); /* RESET startup routine */
++ INTERRUPT void NonHandledInterrupt(void);
++#endif /* _COSMIC_ */
++
++#if !defined(_RAISONANCE_) && !defined(_SDCC_) // SDCC patch: interrupt keyword required after function
++ INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
++ INTERRUPT void TLI_IRQHandler(void); /* TLI */
++ INTERRUPT void AWU_IRQHandler(void); /* AWU */
++ INTERRUPT void CLK_IRQHandler(void); /* CLOCK */
++ INTERRUPT void EXTI_PORTA_IRQHandler(void); /* EXTI PORTA */
++ INTERRUPT void EXTI_PORTB_IRQHandler(void); /* EXTI PORTB */
++ INTERRUPT void EXTI_PORTC_IRQHandler(void); /* EXTI PORTC */
++ INTERRUPT void EXTI_PORTD_IRQHandler(void); /* EXTI PORTD */
++ INTERRUPT void EXTI_PORTE_IRQHandler(void); /* EXTI PORTE */
++
++#if defined(STM8S903) || defined(STM8AF622x)
++ INTERRUPT void EXTI_PORTF_IRQHandler(void); /* EXTI PORTF */
++#endif /* (STM8S903) || (STM8AF622x) */
++
++#if defined (STM8S208) || defined (STM8AF52Ax)
++ INTERRUPT void CAN_RX_IRQHandler(void); /* CAN RX */
++ INTERRUPT void CAN_TX_IRQHandler(void); /* CAN TX/ER/SC */
++#endif /* (STM8S208) || (STM8AF52Ax) */
++
++ INTERRUPT void SPI_IRQHandler(void); /* SPI */
++ INTERRUPT void TIM1_CAP_COM_IRQHandler(void); /* TIM1 CAP/COM */
++ INTERRUPT void TIM1_UPD_OVF_TRG_BRK_IRQHandler(void); /* TIM1 UPD/OVF/TRG/BRK */
++
++#if defined(STM8S903) || defined(STM8AF622x)
++ INTERRUPT void TIM5_UPD_OVF_BRK_TRG_IRQHandler(void); /* TIM5 UPD/OVF/BRK/TRG */
++ INTERRUPT void TIM5_CAP_COM_IRQHandler(void); /* TIM5 CAP/COM */
++#else /* (STM8S208) || (STM8S207) || (STM8S105) || (STM8S103) || (STM8AF52Ax) || (STM8AF62Ax) || (STM8A626x) */
++ INTERRUPT void TIM2_UPD_OVF_BRK_IRQHandler(void); /* TIM2 UPD/OVF/BRK */
++ INTERRUPT void TIM2_CAP_COM_IRQHandler(void); /* TIM2 CAP/COM */
++#endif /* (STM8S903) || (STM8AF622x) */
++
++#if defined (STM8S208) || defined(STM8S207) || defined(STM8S007) || defined(STM8S105) || \
++ defined(STM8S005) || defined (STM8AF52Ax) || defined (STM8AF62Ax) || defined (STM8AF626x)
++ INTERRUPT void TIM3_UPD_OVF_BRK_IRQHandler(void); /* TIM3 UPD/OVF/BRK */
++ INTERRUPT void TIM3_CAP_COM_IRQHandler(void); /* TIM3 CAP/COM */
++#endif /* (STM8S208) || (STM8S207) || (STM8S105) || (STM8AF52Ax) || (STM8AF62Ax) || (STM8A626x) */
++
++#if defined (STM8S208) || defined(STM8S207) || defined(STM8S007) || defined(STM8S103) || \
++ defined(STM8S003) || defined (STM8AF52Ax) || defined (STM8AF62Ax) || defined (STM8S903)
++ INTERRUPT void UART1_TX_IRQHandler(void); /* UART1 TX */
++ INTERRUPT void UART1_RX_IRQHandler(void); /* UART1 RX */
++#endif /* (STM8S208) || (STM8S207) || (STM8S903) || (STM8S103) || (STM8AF52Ax) || (STM8AF62Ax) */
++
++#if defined (STM8AF622x)
++ INTERRUPT void UART4_TX_IRQHandler(void); /* UART4 TX */
++ INTERRUPT void UART4_RX_IRQHandler(void); /* UART4 RX */
++#endif /* (STM8AF622x) */
++
++ INTERRUPT void I2C_IRQHandler(void); /* I2C */
++
++#if defined(STM8S105) || defined(STM8S005) || defined (STM8AF626x)
++ INTERRUPT void UART2_RX_IRQHandler(void); /* UART2 RX */
++ INTERRUPT void UART2_TX_IRQHandler(void); /* UART2 TX */
++#endif /* (STM8S105) || (STM8AF626x) */
++
++#if defined(STM8S207) || defined(STM8S007) || defined(STM8S208) || defined (STM8AF52Ax) || defined (STM8AF62Ax)
++ INTERRUPT void UART3_RX_IRQHandler(void); /* UART3 RX */
++ INTERRUPT void UART3_TX_IRQHandler(void); /* UART3 TX */
++#endif /* (STM8S207) || (STM8S208) || (STM8AF62Ax) || (STM8AF52Ax) */
++
++#if defined(STM8S207) || defined(STM8S007) || defined(STM8S208) || defined (STM8AF52Ax) || defined (STM8AF62Ax)
++ INTERRUPT void ADC2_IRQHandler(void); /* ADC2 */
++#else /* (STM8S105) || (STM8S103) || (STM8S903) || (STM8AF622x) */
++ INTERRUPT void ADC1_IRQHandler(void); /* ADC1 */
++#endif /* (STM8S207) || (STM8S208) || (STM8AF62Ax) || (STM8AF52Ax) */
++
++#if defined(STM8S903) || defined(STM8AF622x)
++ INTERRUPT void TIM6_UPD_OVF_TRG_IRQHandler(void); /* TIM6 UPD/OVF/TRG */
++#else /* (STM8S208) || (STM8S207) || (STM8S105) || (STM8S103) || (STM8AF62Ax) || (STM8AF52Ax) || (STM8AF626x) */
++ INTERRUPT void TIM4_UPD_OVF_IRQHandler(void); /* TIM4 UPD/OVF */
++#endif /* (STM8S903) || (STM8AF622x) */
++ INTERRUPT void EEPROM_EEC_IRQHandler(void); /* EEPROM ECC CORRECTION */
++#endif /* _RAISONANCE_ */
++
++#endif /* __STM8S_IT_H */
++
++
++/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
+Binary files STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/.DS_Store and STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/.DS_Store differ
+Binary files STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/SDCC/.DS_Store and STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/SDCC/.DS_Store differ
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/SDCC/Makefile STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/SDCC/Makefile
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/SDCC/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/SDCC/Makefile 2015-03-29 17:19:32.000000000 +0200
+@@ -0,0 +1,84 @@
++#######
++# makefile for STM8S_StdPeriph_Lib and SDCC compiler
++#
++# note: paths in this Makefile assume unmodified SPL folder structure
++#
++# usage:
++# 1. if SDCC not in PATH set path -> CC_ROOT
++# 2. set correct STM8 device -> DEVICE
++# 3. set project paths -> PRJ_ROOT, PRJ_SRC_DIR, PRJ_INC_DIR
++# 4. set SPL root path -> SPL_ROOT
++# 5. include required SPL modules -> SPL_SOURCE
++# 6. include required STM8S_EVAL modules -> EVAL_SOURCE, EVAL_128K_SOURCE, EVAL_COMM_SOURCE
++#
++#######
++
++# STM8 device (default is STM8 discovery board)
++DEVICE=STM8S105
++
++# trap handling requires SDCC >=v3.4.3
++SKIP_TRAPS = 1
++
++# set compiler path & parameters
++CC_ROOT =
++CC = sdcc
++CFLAGS = -mstm8 -lstm8 --opt-code-size
++
++# required for some examples for STM8S EVAL board
++CFLAGS += -DUSE_STM8_128_EVAL
++
++# set output folder and target name
++OUTPUT_DIR = ./$(DEVICE)
++TARGET = $(OUTPUT_DIR)/$(DEVICE).hex
++
++# set project folder and files (all *.c)
++PRJ_ROOT = ..
++PRJ_SRC_DIR = $(PRJ_ROOT)
++PRJ_INC_DIR = $(PRJ_ROOT)
++PRJ_SOURCE = $(notdir $(wildcard $(PRJ_SRC_DIR)/*.c))
++PRJ_OBJECTS := $(addprefix $(OUTPUT_DIR)/, $(PRJ_SOURCE:.c=.rel))
++
++# set SPL paths
++SPL_ROOT = ../../..
++SPL_SRC_DIR = $(SPL_ROOT)/Libraries/STM8S_StdPeriph_Driver/src
++SPL_INC_DIR = $(SPL_ROOT)/Libraries/STM8S_StdPeriph_Driver/inc
++SPL_SOURCE = stm8s_gpio.c stm8s_clk.c stm8s_flash.c stm8s_uart1.c stm8s_tim4.c
++SPL_OBJECTS := $(addprefix $(OUTPUT_DIR)/, $(SPL_SOURCE:.c=.rel))
++
++# set STM8S_EVAL Utilities paths
++EVAL_DIR = $(SPL_ROOT)/Utilities/STM8S_EVAL
++EVAL_SOURCE =
++EVAL_OBJECTS := $(addprefix $(OUTPUT_DIR)/, $(EVAL_SOURCE:.c=.rel))
++
++# set STM8S_EVAL 128K paths
++EVAL_128K_DIR = $(EVAL_DIR)/STM8-128_EVAL
++EVAL_128K_SOURCE =
++EVAL_128K_OBJECTS := $(addprefix $(OUTPUT_DIR)/, $(EVAL_128K_SOURCE:.c=.rel))
++
++# set STM8S_EVAL Common paths
++EVAL_COMM_DIR = $(EVAL_DIR)/Common
++EVAL_COMM_SOURCE =
++EVAL_COMM_OBJECTS := $(addprefix $(OUTPUT_DIR)/, $(EVAL_COMM_SOURCE:.c=.rel))
++
++
++# collect all include folders
++INCLUDE = -I$(PRJ_SRC_DIR) -I$(SPL_INC_DIR) -I$(EVAL_DIR) -I$(EVAL_128K_DIR) -I$(EVAL_COMM_DIR)
++
++# collect all source directories
++VPATH=$(PRJ_SRC_DIR):$(SPL_SRC_DIR):$(EVAL_DIR):$(EVAL_128K_DIR):$(EVAL_COMM_DIR)
++
++.PHONY: clean
++
++all: $(TARGET)
++
++$(OUTPUT_DIR)/%.rel: %.c
++ $(CC) $(CFLAGS) $(INCLUDE) -D$(DEVICE) -DSKIP_TRAPS=$(SKIP_TRAPS) -c $?
++
++$(OUTPUT_DIR)/%.rel: %.c
++ $(CC) $(CFLAGS) $(INCLUDE) -D$(DEVICE) -DSKIP_TRAPS=$(SKIP_TRAPS) -c $? -o $@
++
++$(TARGET): $(PRJ_OBJECTS) $(SPL_OBJECTS) $(EVAL_OBJECTS) $(EVAL_128K_OBJECTS) $(EVAL_COMM_OBJECTS)
++ $(CC) $(CFLAGS) -o $(TARGET) $^
++
++clean:
++ rm -fr $(OUTPUT_DIR)
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/SDCC/_OSX_clean.command STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/SDCC/_OSX_clean.command
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/SDCC/_OSX_clean.command 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/SDCC/_OSX_clean.command 2015-02-19 08:24:22.000000000 +0100
+@@ -0,0 +1,22 @@
++#!/bin/bash
++
++# change to current working directory
++cd `dirname $0`
++
++# just for output
++echo off
++clear
++
++# target device
++DEVICE=STM8AF52Ax
++
++# set make tool (if not in PATH, set complete path)
++MAKE=make
++
++# use Makefiles to delete outputs
++#$MAKE -f Makefile DEVICE=$DEVICE clean
++
++# also delete output folders
++rm -fr $DEVICE
++
++echo on
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/SDCC/_OSX_compile_run.command STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/SDCC/_OSX_compile_run.command
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/SDCC/_OSX_compile_run.command 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/SDCC/_OSX_compile_run.command 2015-02-14 15:45:38.000000000 +0100
+@@ -0,0 +1,51 @@
++#!/bin/bash
++
++# change to current working directory
++cd `dirname $0`
++
++# just for output
++echo off
++clear
++
++# target device
++DEVICE=STM8AF52Ax
++
++# set make tool (if not in PATH, set complete path)
++MAKE=make
++
++# set STM8 flasher tool (if not in PATH, set complete path)
++LOADER=~/Public/GitHub/STM8_serial_flasher/STM8_serial_flasher
++
++# set COM port for flash loader
++PORT=/dev/tty.usbserial-A4009I0O
++
++# target hexfile
++TARGET=./$DEVICE/$DEVICE.hex
++
++# make project; check for output folder (=device name)
++echo "make application"
++test -d $DEVICE || mkdir $DEVICE
++$MAKE -f Makefile DEVICE=$DEVICE
++if [ $? -ne 0 ]; then
++ echo " "
++ read -p "press key to close window..."
++ echo on
++ exit
++fi
++echo "done with application"
++echo " "
++
++# ask user to put STM8 to bootloader mode
++echo " "
++echo " "
++echo "reset STM8 and press return"
++echo " "
++read -p ""
++
++# upload using STM8 bootloader (use flash tool from GitHub)
++$LOADER -p $PORT -f $TARGET -q
++
++
++echo " "
++read -p "press key to close window..."
++echo on
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/SDCC/_UX_clean.sh STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/SDCC/_UX_clean.sh
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/SDCC/_UX_clean.sh 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/SDCC/_UX_clean.sh 2015-02-19 08:24:22.000000000 +0100
+@@ -0,0 +1,22 @@
++#!/bin/bash
++
++# change to current working directory
++cd `dirname $0`
++
++# just for output
++echo off
++clear
++
++# target device
++DEVICE=STM8AF52Ax
++
++# set make tool (if not in PATH, set complete path)
++MAKE=make
++
++# use Makefiles to delete outputs
++#$MAKE -f Makefile DEVICE=$DEVICE clean
++
++# also delete output folders
++rm -fr $DEVICE
++
++echo on
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/SDCC/_UX_compile_run.sh STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/SDCC/_UX_compile_run.sh
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/SDCC/_UX_compile_run.sh 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/SDCC/_UX_compile_run.sh 2015-02-14 15:45:38.000000000 +0100
+@@ -0,0 +1,51 @@
++#!/bin/bash
++
++# change to current working directory
++cd `dirname $0`
++
++# just for output
++echo off
++clear
++
++# target device
++DEVICE=STM8AF52Ax
++
++# set make tool (if not in PATH, set complete path)
++MAKE=make
++
++# set STM8 flasher tool (if not in PATH, set complete path)
++LOADER=~/Public/GitHub/STM8_serial_flasher/STM8_serial_flasher
++
++# set COM port for flash loader
++PORT=/dev/tty.usbserial-A4009I0O
++
++# target hexfile
++TARGET=./$DEVICE/$DEVICE.hex
++
++# make project; check for output folder (=device name)
++echo "make application"
++test -d $DEVICE || mkdir $DEVICE
++$MAKE -f Makefile DEVICE=$DEVICE
++if [ $? -ne 0 ]; then
++ echo " "
++ read -p "press key to close window..."
++ echo on
++ exit
++fi
++echo "done with application"
++echo " "
++
++# ask user to put STM8 to bootloader mode
++echo " "
++echo " "
++echo "reset STM8 and press return"
++echo " "
++read -p ""
++
++# upload using STM8 bootloader (use flash tool from GitHub)
++$LOADER -p $PORT -f $TARGET -q
++
++
++echo " "
++read -p "press key to close window..."
++echo on
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/SDCC/_WIN_clean.bat STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/SDCC/_WIN_clean.bat
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/SDCC/_WIN_clean.bat 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/SDCC/_WIN_clean.bat 2015-02-19 08:19:58.000000000 +0100
+@@ -0,0 +1,17 @@
++REM just for output
++echo off
++cls
++
++REM target device
++set DEVICE=STM8AF52Ax
++
++REM set make tool (if not in PATH, set complete path)
++set MAKE=mingw32-make
++
++REM use makefile to delete sdcc output
++REM %MAKE% -f Makefile DEVICE=%DEVICE% clean
++
++REM also delete output folders
++rd /S /Q %DEVICE%
++
++echo on
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/SDCC/_WIN_compile_run.bat STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/SDCC/_WIN_compile_run.bat
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/SDCC/_WIN_compile_run.bat 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/SDCC/_WIN_compile_run.bat 2015-02-19 08:28:32.000000000 +0100
+@@ -0,0 +1,46 @@
++REM just for output
++echo off
++cls
++
++REM target device
++set DEVICE=STM8AF52Ax
++
++REM set make tool (if not in PATH, set complete path)
++set MAKE=mingw32-make
++
++REM set path to STM8 flasher tool (own or by STM)
++set LOADER=C:\Users\ick2bue\Documents\STM8_serial_flasher\STM8_serial_flasher.exe
++REM set LOADER=..\STM8_serial_flasher\STM8_serial_flasher.exe
++REM set LOADER="C:\Program Files\STMicroelectronics\Software\Flash Loader Demonstrator\STMFlashLoader.exe"
++
++REM set COM port for flash loader
++set PORT=7
++
++REM name of target hexfile
++set TARGET=.\%DEVICE%\%DEVICE%.hex
++
++REM compile and link
++echo make application
++if not exist %DEVICE% mkdir %DEVICE%
++%MAKE% -f Makefile DEVICE=%DEVICE%
++IF ERRORLEVEL 1 GOTO END
++echo done with application
++echo.
++
++REM GOTO END
++
++REM ask user to put STM8 to bootloader mode
++echo.
++echo.
++echo reset STM8 and press return
++echo.
++PAUSE
++
++REM upload using STM8 bootloader (use own flash tool or STMFlashLoader by STM)
++%LOADER% -p COM%PORT% -f %TARGET% -q
++REM %LOADER% -c --pn %PORT% --br 115200 --co OFF --to 5000 -Dtr --Hi -Dtr --Lo -i STM8_128K -d --fn %TARGET% --v --o -r --a 0x8000
++
++REM clean up
++:END
++PAUSE
++echo on
+Binary files STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/.DS_Store and STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/.DS_Store differ
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/Project.stw STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/Project.stw
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/Project.stw 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/Project.stw 2015-02-23 17:52:32.000000000 +0100
+@@ -0,0 +1,56 @@
++; STMicroelectronics Workspace file
++
++[Version]
++Keyword=ST7Workspace-V0.7
++
++[Project0]
++Filename=stm8s208.stp
++Dependencies=
++
++[Project1]
++Filename=stm8s207.stp
++Dependencies=
++
++[Project2]
++Filename=stm8s105.stp
++Dependencies=
++
++[Project3]
++Filename=stm8s103.stp
++Dependencies=
++
++[Project4]
++Filename=stm8s903.stp
++Dependencies=
++
++[Project5]
++Filename=stm8af52ax.stp
++Dependencies=
++
++[Project6]
++Filename=stm8af62ax.stp
++Dependencies=
++
++[Project7]
++Filename=stm8af626x.stp
++Dependencies=
++
++[Project8]
++Filename=stm8s007.stp
++Dependencies=
++
++[Project9]
++Filename=stm8s003.stp
++Dependencies=
++
++[Project10]
++Filename=stm8s005.stp
++Dependencies=
++
++[Project11]
++Filename=stm8af622x.stp
++Dependencies=
++[Options]
++ActiveProject=stm8af52ax
++ActiveConfig=Debug
++AddSortedElements=1
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/Project.wdb STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/Project.wdb
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/Project.wdb 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/Project.wdb 2015-02-23 17:50:30.000000000 +0100
+@@ -0,0 +1,1321 @@
++
++[WorkState_v1_2]
++ptn_Child1=DockState
++ptn_Child2=ToolBarMgr
++
++[WorkState_v1_2.DockState]
++Bars=35
++ScreenCX=3904
++ScreenCY=1280
++ptn_Child1=Bar-0
++ptn_Child2=Bar-1
++ptn_Child3=Bar-2
++ptn_Child4=Bar-3
++ptn_Child5=Bar-4
++ptn_Child6=Bar-5
++ptn_Child7=Bar-6
++ptn_Child8=Bar-7
++ptn_Child9=Bar-8
++ptn_Child10=Bar-9
++ptn_Child11=Bar-10
++ptn_Child12=Bar-11
++ptn_Child13=Bar-12
++ptn_Child14=Bar-13
++ptn_Child15=Bar-14
++ptn_Child16=Bar-15
++ptn_Child17=Bar-16
++ptn_Child18=Bar-17
++ptn_Child19=Bar-18
++ptn_Child20=Bar-19
++ptn_Child21=Bar-20
++ptn_Child22=Bar-21
++ptn_Child23=Bar-22
++ptn_Child24=Bar-23
++ptn_Child25=Bar-24
++ptn_Child26=Bar-25
++ptn_Child27=Bar-26
++ptn_Child28=Bar-27
++ptn_Child29=Bar-28
++ptn_Child30=Bar-29
++ptn_Child31=Bar-30
++ptn_Child32=Bar-31
++ptn_Child33=Bar-32
++ptn_Child34=Bar-33
++ptn_Child35=Bar-34
++
++[WorkState_v1_2.DockState.Bar-0]
++BarID=59419
++Bars=29
++Bar#0=0
++Bar#1=59647
++Bar#2=0
++Bar#3=59392
++Bar#4=59396
++Bar#5=59400
++Bar#6=124939
++Bar#7=0
++Bar#8=124960
++Bar#9=0
++Bar#10=0
++Bar#11=59399
++Bar#12=59398
++Bar#13=59401
++Bar#14=124933
++Bar#15=124938
++Bar#16=0
++Bar#17=0
++Bar#18=0
++Bar#19=32768
++Bar#20=0
++Bar#21=0
++Bar#22=0
++Bar#23=0
++Bar#24=0
++Bar#25=0
++Bar#26=0
++Bar#27=0
++Bar#28=0
++Style=0
++ExStyle=0
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=0
++MRUFloatCX=0
++MRUFloatCY=0
++MRUHorzDockCX=0
++MRUHorzDockCY=0
++MRUVertDockCX=0
++MRUVertDockCY=0
++MRUDockingState=0
++DockingStyle=0
++TypeID=0
++ClassName=
++WindowName=
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-1]
++BarID=32768
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=33
++MRUDockRightPos=0
++MRUDockBottomPos=33
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=1026
++Style=12110
++ExStyle=0
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=150
++MRUVertDockCX=300
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=8192
++TypeID=0
++ClassName=SECControlBar
++WindowName=
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-2]
++BarID=59422
++Bars=13
++Bar#0=0
++Bar#1=0
++Bar#2=8003
++Bar#3=8002
++Bar#4=0
++Bar#5=5707
++Bar#6=5706
++Bar#7=5710
++Bar#8=5704
++Bar#9=5721
++Bar#10=0
++Bar#11=32769
++Bar#12=0
++Style=0
++ExStyle=0
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=0
++MRUFloatCX=0
++MRUFloatCY=0
++MRUHorzDockCX=0
++MRUHorzDockCY=0
++MRUVertDockCX=0
++MRUVertDockCY=0
++MRUDockingState=0
++DockingStyle=0
++TypeID=0
++ClassName=
++WindowName=
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-3]
++BarID=32769
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=33
++MRUDockRightPos=0
++MRUDockBottomPos=33
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=1026
++Style=36686
++ExStyle=0
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=150
++MRUVertDockCX=300
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=32768
++TypeID=0
++ClassName=SECControlBar
++WindowName=
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-4]
++BarID=59420
++Bars=6
++Bar#0=0
++Bar#1=5708
++Bar#2=5720
++Bar#3=0
++Bar#4=32770
++Bar#5=0
++Style=0
++ExStyle=0
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=0
++MRUFloatCX=0
++MRUFloatCY=0
++MRUHorzDockCX=0
++MRUHorzDockCY=0
++MRUVertDockCX=0
++MRUVertDockCY=0
++MRUDockingState=0
++DockingStyle=0
++TypeID=0
++ClassName=
++WindowName=
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-5]
++BarID=32770
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=33
++MRUDockRightPos=0
++MRUDockBottomPos=33
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=8014
++ExStyle=0
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=180
++MRUVertDockCX=150
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=4096
++TypeID=0
++ClassName=SECControlBar
++WindowName=
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-6]
++BarID=59421
++Bars=12
++Bar#0=0
++Bar#1=0
++Bar#2=5701
++Bar#3=0
++Bar#4=73539
++Bar#5=0
++Bar#6=35103
++Bar#7=35102
++Bar#8=35101
++Bar#9=35100
++Bar#10=32771
++Bar#11=0
++Style=0
++ExStyle=0
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=0
++MRUFloatCX=0
++MRUFloatCY=0
++MRUHorzDockCX=0
++MRUHorzDockCY=0
++MRUVertDockCX=0
++MRUVertDockCY=0
++MRUDockingState=0
++DockingStyle=0
++TypeID=0
++ClassName=
++WindowName=
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-7]
++BarID=32771
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=33
++MRUDockRightPos=0
++MRUDockBottomPos=33
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=20302
++ExStyle=0
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=180
++MRUVertDockCX=210
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=16384
++TypeID=0
++ClassName=SECControlBar
++WindowName=
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-8]
++BarID=59647
++MRUWidth=412
++Docking=True
++MRUDockID=59419
++MRUDockLeftPos=-1
++MRUDockTopPos=33
++MRUDockRightPos=1279
++MRUDockBottomPos=62
++MRUFloatStyle=8196
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=12220
++ExStyle=131980
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=429
++MRUFloatCY=27
++MRUHorzDockCX=1280
++MRUHorzDockCY=29
++MRUVertDockCX=72
++MRUVertDockCY=527
++MRUDockingState=0
++DockingStyle=61440
++TypeID=14947
++ClassName=SECMDIMenuBar
++WindowName=Menu bar
++ResourceID=0
++ptn_Child1=ToolBarInfoEx
++
++[WorkState_v1_2.DockState.Bar-8.ToolBarInfoEx]
++Title=Menu bar
++Buttons=BAAAAAAIAACAAAAAAIAADAAAAAAIAAEAAAAAAIAAFAAAAAAIAAGAAAAAAIAAHAAAAAAIAAIAAAAAAIAAJAAAAAAIAAKAAAAAAIAA
++
++[WorkState_v1_2.DockState.Bar-9]
++BarID=59392
++YPos=28
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=-1
++MRUDockTopPos=28
++MRUDockRightPos=147
++MRUDockBottomPos=58
++MRUFloatStyle=8196
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=12212
++ExStyle=131852
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=184352
++MRUFloatCX=0
++MRUFloatCY=0
++MRUHorzDockCX=148
++MRUHorzDockCY=30
++MRUVertDockCX=0
++MRUVertDockCY=0
++MRUDockingState=0
++DockingStyle=61440
++TypeID=14946
++ClassName=SECCustomToolBar
++WindowName=File
++ResourceID=0
++ptn_Child1=ToolBarInfoEx
++
++[WorkState_v1_2.DockState.Bar-9.ToolBarInfoEx]
++Title=File
++Buttons=AABOAAAAAAGPDBAAAAAAAIIBAAAAAAAAAAAAAAAADABOAAAAAAAAAAAAAAAAHABOAAAAAA
++
++[WorkState_v1_2.DockState.Bar-10]
++BarID=59396
++XPos=519
++YPos=28
++MRUWidth=566
++Docking=True
++MRUDockID=59419
++MRUDockLeftPos=519
++MRUDockTopPos=28
++MRUDockRightPos=1102
++MRUDockBottomPos=58
++MRUFloatStyle=8196
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=12212
++ExStyle=131852
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=631295
++MRUFloatCX=580
++MRUFloatCY=30
++MRUHorzDockCX=583
++MRUHorzDockCY=30
++MRUVertDockCX=158
++MRUVertDockCY=142
++MRUDockingState=0
++DockingStyle=61440
++TypeID=14946
++ClassName=SECCustomToolBar
++WindowName=Edit
++ResourceID=0
++ptn_Child1=ToolBarInfoEx
++
++[WorkState_v1_2.DockState.Bar-10.ToolBarInfoEx]
++Title=Edit
++Buttons=LCBOAAAAAAMCBOAAAAAAAAAAAAAAAADCBOAAAAAACCBOAAAAAAFCBOAAAAAAAAAAAAAAAAECBOAAAACAGJAAEFEBAAAAAAAAAAAAAAAAPJAIAAAAAAAAAAAAAAAAJAJBAAAAAACAJBAAAAAAIAJBAAAAAAAAJBAAAAAAAAAAAAAAAAKFEBAAAAAALFEBAAAAAAMFEBAAAAAANFEBAAAAAAAAAAAAAAAAOFEBAAAAAA
++
++[WorkState_v1_2.DockState.Bar-11]
++BarID=59397
++Visible=False
++XPos=-3
++MRUWidth=246
++Docking=True
++MRUDockID=59419
++MRUDockLeftPos=1724
++MRUDockTopPos=70
++MRUDockRightPos=1987
++MRUDockBottomPos=100
++MRUFloatStyle=8192
++MRUFloatXPos=1724
++MRUFloatYPos=68
++Style=12213
++ExStyle=131852
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=260
++MRUFloatCY=30
++MRUHorzDockCX=263
++MRUHorzDockCY=30
++MRUVertDockCX=31
++MRUVertDockCY=247
++MRUDockingState=0
++DockingStyle=61440
++TypeID=14946
++ClassName=SECCustomToolBar
++WindowName=View
++ResourceID=0
++ptn_Child1=ToolBarInfoEx
++
++[WorkState_v1_2.DockState.Bar-11.ToolBarInfoEx]
++Title=View
++Buttons=IFGBAAAAAAJFGBAAAAAAAAAAAAAAAAFEGBAAAAAACEPBAAAAAAMBJIAAAAAAMEGBAAAAAAAAAAAAAAAAOEGBAAAAAAKEGBAAAAAALEGBAAAAAAPEGBAAAAAADEPBAAAAAA
++
++[WorkState_v1_2.DockState.Bar-12]
++BarID=59398
++XPos=924
++YPos=58
++MRUWidth=339
++Docking=True
++MRUDockID=59419
++MRUDockLeftPos=924
++MRUDockTopPos=58
++MRUDockRightPos=1280
++MRUDockBottomPos=88
++MRUFloatStyle=8196
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=12212
++ExStyle=131852
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=127407
++MRUFloatCX=356
++MRUFloatCY=30
++MRUHorzDockCX=356
++MRUHorzDockCY=30
++MRUVertDockCX=108
++MRUVertDockCY=115
++MRUDockingState=0
++DockingStyle=61440
++TypeID=14946
++ClassName=SECCustomToolBar
++WindowName=Project
++ResourceID=0
++ptn_Child1=ToolBarInfoEx
++
++[WorkState_v1_2.DockState.Bar-12.ToolBarInfoEx]
++Title=Project
++Buttons=KAAIAAAACAEGAAMAAIAAAACAEGAAAAAAAAAAAABBAIAAAAAACBAIAAAAAADBAIAAAAAAAAAAAAAAAAGBAIAAAAAAAAAAAAAAAACHIBAAAAAA
++
++[WorkState_v1_2.DockState.Bar-13]
++BarID=59399
++XPos=0
++YPos=58
++MRUWidth=385
++Docking=True
++MRUDockID=59419
++MRUDockLeftPos=0
++MRUDockTopPos=58
++MRUDockRightPos=402
++MRUDockBottomPos=88
++MRUFloatStyle=8196
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=12212
++ExStyle=131852
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=714187
++MRUFloatCX=402
++MRUFloatCY=30
++MRUHorzDockCX=402
++MRUHorzDockCY=30
++MRUVertDockCX=31
++MRUVertDockCY=372
++MRUDockingState=0
++DockingStyle=61440
++TypeID=14946
++ClassName=SECCustomToolBar
++WindowName=Debug
++ResourceID=0
++ptn_Child1=ToolBarInfoEx
++
++[WorkState_v1_2.DockState.Bar-13.ToolBarInfoEx]
++Title=Debug
++Buttons=HKAIAAAAAAIKAIAAAAAAAAAAAAAAAAADKBAAAAAAAAAAAAAAAAGPKBAAAAAAEPKBAAAAAAFPKBAAAAAAHPKBAAAAAAAAAAAAAAAAMPKBAAAAAAAAAAAAAAAAIPKBAAAAAAJPKBAAAAAANPKBAAAAAAOPKBAAAAAAKPKBAAAAAALPKBAAAAAAAAAAAAAAAABDKBAAAAAA
++
++[WorkState_v1_2.DockState.Bar-14]
++BarID=59400
++XPos=1148
++YPos=28
++MRUWidth=23
++Docking=True
++MRUDockID=59419
++MRUDockLeftPos=1148
++MRUDockTopPos=28
++MRUDockRightPos=1280
++MRUDockBottomPos=58
++MRUFloatStyle=8196
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=12212
++ExStyle=131852
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=184352
++MRUFloatCX=40
++MRUFloatCY=30
++MRUHorzDockCX=132
++MRUHorzDockCY=30
++MRUVertDockCX=31
++MRUVertDockCY=39
++MRUDockingState=0
++DockingStyle=61440
++TypeID=14946
++ClassName=SECCustomToolBar
++WindowName=Debug instrument
++ResourceID=0
++ptn_Child1=ToolBarInfoEx
++
++[WorkState_v1_2.DockState.Bar-14.ToolBarInfoEx]
++Title=Debug instrument
++Buttons=JPAIAAAAAAAFPBAAAAAANEPBAAAAAABFPBAAAAAACFPBAAAAAA
++
++[WorkState_v1_2.DockState.Bar-15]
++BarID=59401
++XPos=1280
++YPos=58
++MRUWidth=77
++Docking=True
++MRUDockID=59419
++MRUDockLeftPos=1280
++MRUDockTopPos=58
++MRUDockRightPos=1351
++MRUDockBottomPos=88
++MRUFloatStyle=8196
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=12212
++ExStyle=131852
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=158405
++MRUFloatCX=94
++MRUFloatCY=30
++MRUHorzDockCX=71
++MRUHorzDockCY=30
++MRUVertDockCX=31
++MRUVertDockCY=88
++MRUDockingState=0
++DockingStyle=61440
++TypeID=14946
++ClassName=SECCustomToolBar
++WindowName=Tools
++ResourceID=0
++ptn_Child1=ToolBarInfoEx
++
++[WorkState_v1_2.DockState.Bar-15.ToolBarInfoEx]
++Title=Tools
++Buttons=AHHBAAAAAABHHBAAAAAAAAAAAAAAAA
++
++[WorkState_v1_2.DockState.Bar-16]
++BarID=59402
++Visible=False
++XPos=-3
++MRUWidth=115
++Docking=True
++MRUDockID=59419
++MRUDockLeftPos=1244
++MRUDockTopPos=70
++MRUDockRightPos=1376
++MRUDockBottomPos=100
++MRUFloatStyle=8192
++MRUFloatXPos=1442
++MRUFloatYPos=225
++Style=12213
++ExStyle=131852
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=129
++MRUFloatCY=30
++MRUHorzDockCX=132
++MRUHorzDockCY=30
++MRUVertDockCX=31
++MRUVertDockCY=127
++MRUDockingState=0
++DockingStyle=61440
++TypeID=14946
++ClassName=SECCustomToolBar
++WindowName=Window
++ResourceID=0
++ptn_Child1=ToolBarInfoEx
++
++[WorkState_v1_2.DockState.Bar-16.ToolBarInfoEx]
++Title=Window
++Buttons=OHIBAAAAAAPHIBAAAAAACDBOAAAAAADDBOAAAAAAEDBOAAAAAA
++
++[WorkState_v1_2.DockState.Bar-17]
++BarID=59403
++Visible=False
++XPos=-3
++MRUWidth=115
++Docking=True
++MRUDockID=59419
++MRUDockLeftPos=449
++MRUDockTopPos=33
++MRUDockRightPos=581
++MRUDockBottomPos=63
++MRUFloatStyle=8196
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=12213
++ExStyle=131852
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=129
++MRUFloatCY=30
++MRUHorzDockCX=132
++MRUHorzDockCY=30
++MRUVertDockCX=31
++MRUVertDockCY=127
++MRUDockingState=0
++DockingStyle=61440
++TypeID=14946
++ClassName=SECCustomToolBar
++WindowName=Help
++ResourceID=0
++ptn_Child1=ToolBarInfoEx
++
++[WorkState_v1_2.DockState.Bar-17.ToolBarInfoEx]
++Title=Help
++Buttons=KDIBAAAAAADEBOAAAAAAAEBOAAAAAAEFPBAAAAAAFFPBAAAAAA
++
++[WorkState_v1_2.DockState.Bar-18]
++BarID=5720
++XPos=1
++YPos=-2
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=1
++MRUDockTopPos=-2
++MRUDockRightPos=151
++MRUDockBottomPos=696
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=8068
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=180
++MRUVertDockCX=150
++MRUVertDockCY=698
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=CProjectWorkspaceWnd
++WindowName=Workspace
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-19]
++BarID=5721
++XPos=1
++YPos=5
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=1
++MRUDockTopPos=5
++MRUDockRightPos=1280
++MRUDockBottomPos=155
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=36756
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=1279
++MRUHorzDockCY=150
++MRUVertDockCX=300
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=COutputControlBar
++WindowName=Output
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-20]
++BarID=5701
++Visible=False
++XPos=7
++YPos=-3
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=7
++MRUDockTopPos=33
++MRUDockRightPos=157
++MRUDockBottomPos=731
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=20356
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=180
++MRUVertDockCX=150
++MRUVertDockCY=698
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=CNewDisassControlBar
++WindowName=Disassembly
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-21]
++BarID=5704
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=33
++MRUDockRightPos=0
++MRUDockBottomPos=33
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=36612
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=500000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=150
++MRUVertDockCX=300
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=CRegisterControlBar
++WindowName=Registers
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-22]
++BarID=35100
++XPos=5
++YPos=-2
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=5
++MRUDockTopPos=-2
++MRUDockRightPos=341
++MRUDockBottomPos=696
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=20356
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=180
++MRUVertDockCX=336
++MRUVertDockCY=698
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=CNewDumpControlBar
++WindowName=Memory #1
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-23]
++BarID=35101
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=33
++MRUDockRightPos=0
++MRUDockBottomPos=33
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=20356
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=180
++MRUVertDockCX=336
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=CNewDumpControlBar
++WindowName=Memory #2
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-24]
++BarID=35102
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=33
++MRUDockRightPos=0
++MRUDockBottomPos=33
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=20356
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=180
++MRUVertDockCX=336
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=CNewDumpControlBar
++WindowName=Memory #3
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-25]
++BarID=35103
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=33
++MRUDockRightPos=0
++MRUDockBottomPos=33
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=20356
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=180
++MRUVertDockCX=336
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=CNewDumpControlBar
++WindowName=Memory #4
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-26]
++BarID=5708
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=33
++MRUDockRightPos=0
++MRUDockBottomPos=33
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=8068
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=500000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=180
++MRUVertDockCX=150
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=CSoftBkControlBar
++WindowName=Instruction Breakpoints
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-27]
++BarID=5710
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=33
++MRUDockRightPos=0
++MRUDockBottomPos=33
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=36740
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=666665
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=150
++MRUVertDockCX=300
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=CWatchControlBar
++WindowName=Watch
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-28]
++BarID=5706
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=33
++MRUDockRightPos=0
++MRUDockBottomPos=33
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=36612
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=750000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=150
++MRUVertDockCX=300
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=CStackControlBar
++WindowName=Call Stack
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-29]
++BarID=5707
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=33
++MRUDockRightPos=0
++MRUDockBottomPos=33
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=36612
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=800000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=150
++MRUVertDockCX=300
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=CLocalsControlBar
++WindowName=Local Variables
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-30]
++BarID=8002
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=33
++MRUDockRightPos=7864335
++MRUDockBottomPos=465193
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=1026
++Style=36740
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=666665
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=150
++MRUVertDockCX=300
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=CAddedControlBar
++WindowName=Core Registers
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-31]
++BarID=8003
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=33
++MRUDockRightPos=0
++MRUDockBottomPos=33
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=36740
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=750000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=150
++MRUVertDockCX=300
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=CAddedControlBar
++WindowName=Peripheral Registers
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-32]
++BarID=59423
++Horz=True
++Floating=True
++XPos=461
++YPos=95
++Bars=3
++Bar#0=0
++Bar#1=59403
++Bar#2=0
++Style=0
++ExStyle=0
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=0
++MRUFloatCX=0
++MRUFloatCY=0
++MRUHorzDockCX=0
++MRUHorzDockCY=0
++MRUVertDockCX=0
++MRUVertDockCY=0
++MRUDockingState=0
++DockingStyle=0
++TypeID=0
++ClassName=
++WindowName=
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-33]
++BarID=59423
++Horz=True
++Floating=True
++XPos=1455
++YPos=253
++Bars=3
++Bar#0=0
++Bar#1=59402
++Bar#2=0
++Style=0
++ExStyle=0
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=0
++MRUFloatCX=0
++MRUFloatCY=0
++MRUHorzDockCX=0
++MRUHorzDockCY=0
++MRUVertDockCX=0
++MRUVertDockCY=0
++MRUDockingState=0
++DockingStyle=0
++TypeID=0
++ClassName=
++WindowName=
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-34]
++BarID=59423
++Horz=True
++Floating=True
++XPos=1724
++YPos=95
++Bars=3
++Bar#0=0
++Bar#1=59397
++Bar#2=0
++Style=0
++ExStyle=0
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=0
++MRUFloatCX=0
++MRUFloatCY=0
++MRUHorzDockCX=0
++MRUHorzDockCY=0
++MRUVertDockCX=0
++MRUVertDockCY=0
++MRUDockingState=0
++DockingStyle=0
++TypeID=0
++ClassName=
++WindowName=
++ResourceID=0
++
++[WorkState_v1_2.ToolBarMgr]
++ToolTips=True
++CoolLook=True
++LargeButtons=False
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/Project.wed STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/Project.wed
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/Project.wed 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/Project.wed 2015-02-23 17:52:32.000000000 +0100
+@@ -0,0 +1,1295 @@
++
++[WorkState_v1_2]
++ptn_Child1=DockState
++ptn_Child2=ToolBarMgr
++ptn_Child3=Frames
++
++[WorkState_v1_2.DockState]
++Bars=33
++ScreenCX=3904
++ScreenCY=1280
++ptn_Child1=Bar-0
++ptn_Child2=Bar-1
++ptn_Child3=Bar-2
++ptn_Child4=Bar-3
++ptn_Child5=Bar-4
++ptn_Child6=Bar-5
++ptn_Child7=Bar-6
++ptn_Child8=Bar-7
++ptn_Child9=Bar-8
++ptn_Child10=Bar-9
++ptn_Child11=Bar-10
++ptn_Child12=Bar-11
++ptn_Child13=Bar-12
++ptn_Child14=Bar-13
++ptn_Child15=Bar-14
++ptn_Child16=Bar-15
++ptn_Child17=Bar-16
++ptn_Child18=Bar-17
++ptn_Child19=Bar-18
++ptn_Child20=Bar-19
++ptn_Child21=Bar-20
++ptn_Child22=Bar-21
++ptn_Child23=Bar-22
++ptn_Child24=Bar-23
++ptn_Child25=Bar-24
++ptn_Child26=Bar-25
++ptn_Child27=Bar-26
++ptn_Child28=Bar-27
++ptn_Child29=Bar-28
++ptn_Child30=Bar-29
++ptn_Child31=Bar-30
++ptn_Child32=Bar-31
++ptn_Child33=Bar-32
++
++[WorkState_v1_2.DockState.Bar-0]
++BarID=59419
++Bars=31
++Bar#0=0
++Bar#1=59647
++Bar#2=0
++Bar#3=59392
++Bar#4=59396
++Bar#5=59400
++Bar#6=124939
++Bar#7=0
++Bar#8=124960
++Bar#9=0
++Bar#10=0
++Bar#11=59399
++Bar#12=59398
++Bar#13=59401
++Bar#14=124933
++Bar#15=124938
++Bar#16=0
++Bar#17=0
++Bar#18=32768
++Bar#19=0
++Bar#20=0
++Bar#21=0
++Bar#22=0
++Bar#23=0
++Bar#24=0
++Bar#25=0
++Bar#26=0
++Bar#27=0
++Bar#28=0
++Bar#29=0
++Bar#30=0
++Style=0
++ExStyle=0
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=0
++MRUFloatCX=0
++MRUFloatCY=0
++MRUHorzDockCX=0
++MRUHorzDockCY=0
++MRUVertDockCX=0
++MRUVertDockCY=0
++MRUDockingState=0
++DockingStyle=0
++TypeID=0
++ClassName=
++WindowName=
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-1]
++BarID=32768
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=26
++MRUDockRightPos=0
++MRUDockBottomPos=26
++MRUFloatStyle=4
++MRUFloatXPos=-2147483648
++MRUFloatYPos=1026
++Style=12110
++ExStyle=0
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=150
++MRUVertDockCX=300
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=8192
++TypeID=0
++ClassName=SECControlBar
++WindowName=
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-2]
++BarID=59422
++Bars=9
++Bar#0=0
++Bar#1=5707
++Bar#2=5706
++Bar#3=5710
++Bar#4=5704
++Bar#5=5721
++Bar#6=0
++Bar#7=32769
++Bar#8=0
++Style=0
++ExStyle=0
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=0
++MRUFloatCX=0
++MRUFloatCY=0
++MRUHorzDockCX=0
++MRUHorzDockCY=0
++MRUVertDockCX=0
++MRUVertDockCY=0
++MRUDockingState=0
++DockingStyle=0
++TypeID=0
++ClassName=
++WindowName=
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-3]
++BarID=32769
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=26
++MRUDockRightPos=0
++MRUDockBottomPos=26
++MRUFloatStyle=4
++MRUFloatXPos=-2147483648
++MRUFloatYPos=1026
++Style=36686
++ExStyle=0
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=150
++MRUVertDockCX=300
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=32768
++TypeID=0
++ClassName=SECControlBar
++WindowName=
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-4]
++BarID=59420
++Bars=6
++Bar#0=0
++Bar#1=5708
++Bar#2=5720
++Bar#3=0
++Bar#4=32770
++Bar#5=0
++Style=0
++ExStyle=0
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=0
++MRUFloatCX=0
++MRUFloatCY=0
++MRUHorzDockCX=0
++MRUHorzDockCY=0
++MRUVertDockCX=0
++MRUVertDockCY=0
++MRUDockingState=0
++DockingStyle=0
++TypeID=0
++ClassName=
++WindowName=
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-5]
++BarID=32770
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=26
++MRUDockRightPos=0
++MRUDockBottomPos=26
++MRUFloatStyle=4
++MRUFloatXPos=-2147483648
++MRUFloatYPos=0
++Style=8014
++ExStyle=0
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=180
++MRUVertDockCX=150
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=4096
++TypeID=0
++ClassName=SECControlBar
++WindowName=
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-6]
++BarID=59421
++Bars=12
++Bar#0=0
++Bar#1=0
++Bar#2=5701
++Bar#3=0
++Bar#4=73539
++Bar#5=0
++Bar#6=35103
++Bar#7=35102
++Bar#8=35101
++Bar#9=35100
++Bar#10=32771
++Bar#11=0
++Style=0
++ExStyle=0
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=0
++MRUFloatCX=0
++MRUFloatCY=0
++MRUHorzDockCX=0
++MRUHorzDockCY=0
++MRUVertDockCX=0
++MRUVertDockCY=0
++MRUDockingState=0
++DockingStyle=0
++TypeID=0
++ClassName=
++WindowName=
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-7]
++BarID=32771
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=26
++MRUDockRightPos=0
++MRUDockBottomPos=26
++MRUFloatStyle=4
++MRUFloatXPos=-2147483648
++MRUFloatYPos=0
++Style=20302
++ExStyle=0
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=180
++MRUVertDockCX=150
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=16384
++TypeID=0
++ClassName=SECControlBar
++WindowName=
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-8]
++BarID=59647
++MRUWidth=412
++Docking=True
++MRUDockID=59419
++MRUDockLeftPos=-1
++MRUDockTopPos=-1
++MRUDockRightPos=924
++MRUDockBottomPos=28
++MRUFloatStyle=8196
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=12220
++ExStyle=131980
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=429
++MRUFloatCY=27
++MRUHorzDockCX=925
++MRUHorzDockCY=29
++MRUVertDockCX=72
++MRUVertDockCY=527
++MRUDockingState=0
++DockingStyle=61440
++TypeID=14947
++ClassName=SECMDIMenuBar
++WindowName=Menu bar
++ResourceID=0
++ptn_Child1=ToolBarInfoEx
++
++[WorkState_v1_2.DockState.Bar-8.ToolBarInfoEx]
++Title=Menu bar
++Buttons=BAAAAAAIAACAAAAAAIAADAAAAAAIAAEAAAAAAIAAFAAAAAAIAAGAAAAAAIAAHAAAAAAIAAIAAAAAAIAAJAAAAAAIAAKAAAAAAIAA
++
++[WorkState_v1_2.DockState.Bar-9]
++BarID=59392
++YPos=28
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=-1
++MRUDockTopPos=28
++MRUDockRightPos=147
++MRUDockBottomPos=58
++MRUFloatStyle=8196
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=12212
++ExStyle=131852
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=184352
++MRUFloatCX=0
++MRUFloatCY=0
++MRUHorzDockCX=148
++MRUHorzDockCY=30
++MRUVertDockCX=0
++MRUVertDockCY=0
++MRUDockingState=0
++DockingStyle=61440
++TypeID=14946
++ClassName=SECCustomToolBar
++WindowName=File
++ResourceID=0
++ptn_Child1=ToolBarInfoEx
++
++[WorkState_v1_2.DockState.Bar-9.ToolBarInfoEx]
++Title=File
++Buttons=AABOAAAAAAGPDBAAAAAAAIIBAAAAAAAAAAAAAAAADABOAAAAAAAAAAAAAAAAHABOAAAAAA
++
++[WorkState_v1_2.DockState.Bar-10]
++BarID=59396
++XPos=331
++YPos=28
++MRUWidth=566
++Docking=True
++MRUDockID=59419
++MRUDockLeftPos=331
++MRUDockTopPos=28
++MRUDockRightPos=914
++MRUDockBottomPos=58
++MRUFloatStyle=8196
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=12212
++ExStyle=131852
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=631295
++MRUFloatCX=580
++MRUFloatCY=30
++MRUHorzDockCX=583
++MRUHorzDockCY=30
++MRUVertDockCX=158
++MRUVertDockCY=142
++MRUDockingState=0
++DockingStyle=61440
++TypeID=14946
++ClassName=SECCustomToolBar
++WindowName=Edit
++ResourceID=0
++ptn_Child1=ToolBarInfoEx
++
++[WorkState_v1_2.DockState.Bar-10.ToolBarInfoEx]
++Title=Edit
++Buttons=LCBOAAAAAAMCBOAAAAAAAAAAAAAAAADCBOAAAAAACCBOAAAAAAFCBOAAAAAAAAAAAAAAAAECBOAAAACAGJAAEFEBAAAAAAAAAAAAAAAAPJAIAAAAAAAAAAAAAAAAJAJBAAAAAACAJBAAAAAAIAJBAAAAAAAAJBAAAAAAAAAAAAAAAAKFEBAAAAAALFEBAAAAAAMFEBAAAAAANFEBAAAAAAAAAAAAAAAAOFEBAAAAAA
++
++[WorkState_v1_2.DockState.Bar-11]
++BarID=59397
++Visible=False
++XPos=-2
++MRUWidth=246
++Docking=True
++MRUDockID=59419
++MRUDockLeftPos=1272
++MRUDockTopPos=56
++MRUDockRightPos=1535
++MRUDockBottomPos=86
++MRUFloatStyle=8192
++MRUFloatXPos=1272
++MRUFloatYPos=54
++Style=12213
++ExStyle=131852
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=260
++MRUFloatCY=30
++MRUHorzDockCX=263
++MRUHorzDockCY=30
++MRUVertDockCX=31
++MRUVertDockCY=247
++MRUDockingState=0
++DockingStyle=61440
++TypeID=14946
++ClassName=SECCustomToolBar
++WindowName=View
++ResourceID=0
++ptn_Child1=ToolBarInfoEx
++
++[WorkState_v1_2.DockState.Bar-11.ToolBarInfoEx]
++Title=View
++Buttons=IFGBAAAAAAJFGBAAAAAAAAAAAAAAAAFEGBAAAAAAIEGBAAAAAAMBJIAAAAAAMEGBAAAAAAAAAAAAAAAAOEGBAAAAAAKEGBAAAAAALEGBAAAAAAPEGBAAAAAA
++
++[WorkState_v1_2.DockState.Bar-12]
++BarID=59398
++XPos=569
++YPos=58
++MRUWidth=339
++Docking=True
++MRUDockID=59419
++MRUDockLeftPos=569
++MRUDockTopPos=58
++MRUDockRightPos=925
++MRUDockBottomPos=88
++MRUFloatStyle=8196
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=12212
++ExStyle=131852
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=127407
++MRUFloatCX=356
++MRUFloatCY=30
++MRUHorzDockCX=356
++MRUHorzDockCY=30
++MRUVertDockCX=108
++MRUVertDockCY=115
++MRUDockingState=0
++DockingStyle=61440
++TypeID=14946
++ClassName=SECCustomToolBar
++WindowName=Project
++ResourceID=0
++ptn_Child1=ToolBarInfoEx
++
++[WorkState_v1_2.DockState.Bar-12.ToolBarInfoEx]
++Title=Project
++Buttons=KAAIAAAACAEGAAMAAIAAAACAEGAAAAAAAAAAAABBAIAAAAAACBAIAAAAAADBAIAAAAAAAAAAAAAAAAGBAIAAAAAAAAAAAAAAAACHIBAAAAAA
++
++[WorkState_v1_2.DockState.Bar-13]
++BarID=59399
++XPos=0
++YPos=58
++MRUWidth=385
++Docking=True
++MRUDockID=59419
++MRUDockLeftPos=0
++MRUDockTopPos=58
++MRUDockRightPos=402
++MRUDockBottomPos=88
++MRUFloatStyle=8196
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=12212
++ExStyle=131852
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=714187
++MRUFloatCX=402
++MRUFloatCY=30
++MRUHorzDockCX=402
++MRUHorzDockCY=30
++MRUVertDockCX=31
++MRUVertDockCY=372
++MRUDockingState=0
++DockingStyle=61440
++TypeID=14946
++ClassName=SECCustomToolBar
++WindowName=Debug
++ResourceID=0
++ptn_Child1=ToolBarInfoEx
++
++[WorkState_v1_2.DockState.Bar-13.ToolBarInfoEx]
++Title=Debug
++Buttons=HKAIAAAAAAIKAIAAAAAAAAAAAAAAAAADKBAAAAAAAAAAAAAAAAGPKBAAAAAAEPKBAAAAAAFPKBAAAAAAHPKBAAAAAAAAAAAAAAAAMPKBAAAAAAAAAAAAAAAAIPKBAAAAAAJPKBAAAAAANPKBAAAAAAOPKBAAAAAAKPKBAAAAAALPKBAAAAAAAAAAAAAAAABDKBAAAAAA
++
++[WorkState_v1_2.DockState.Bar-14]
++BarID=59400
++XPos=914
++YPos=28
++MRUWidth=23
++Docking=True
++MRUDockID=59419
++MRUDockLeftPos=914
++MRUDockTopPos=28
++MRUDockRightPos=954
++MRUDockBottomPos=58
++MRUFloatStyle=8196
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=12212
++ExStyle=131852
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=184352
++MRUFloatCX=40
++MRUFloatCY=30
++MRUHorzDockCX=40
++MRUHorzDockCY=30
++MRUVertDockCX=31
++MRUVertDockCY=39
++MRUDockingState=0
++DockingStyle=61440
++TypeID=14946
++ClassName=SECCustomToolBar
++WindowName=Debug instrument
++ResourceID=0
++ptn_Child1=ToolBarInfoEx
++
++[WorkState_v1_2.DockState.Bar-14.ToolBarInfoEx]
++Title=Debug instrument
++Buttons=JPAIAAAAAA
++
++[WorkState_v1_2.DockState.Bar-15]
++BarID=59401
++XPos=925
++YPos=58
++MRUWidth=77
++Docking=True
++MRUDockID=59419
++MRUDockLeftPos=925
++MRUDockTopPos=58
++MRUDockRightPos=996
++MRUDockBottomPos=88
++MRUFloatStyle=8196
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=12212
++ExStyle=131852
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=158405
++MRUFloatCX=94
++MRUFloatCY=30
++MRUHorzDockCX=71
++MRUHorzDockCY=30
++MRUVertDockCX=31
++MRUVertDockCY=88
++MRUDockingState=0
++DockingStyle=61440
++TypeID=14946
++ClassName=SECCustomToolBar
++WindowName=Tools
++ResourceID=0
++ptn_Child1=ToolBarInfoEx
++
++[WorkState_v1_2.DockState.Bar-15.ToolBarInfoEx]
++Title=Tools
++Buttons=AHHBAAAAAABHHBAAAAAAAAAAAAAAAA
++
++[WorkState_v1_2.DockState.Bar-16]
++BarID=59402
++Visible=False
++XPos=-2
++MRUWidth=115
++Docking=True
++MRUDockID=59419
++MRUDockLeftPos=918
++MRUDockTopPos=56
++MRUDockRightPos=1050
++MRUDockBottomPos=86
++MRUFloatStyle=8192
++MRUFloatXPos=1064
++MRUFloatYPos=180
++Style=12213
++ExStyle=131852
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=129
++MRUFloatCY=30
++MRUHorzDockCX=132
++MRUHorzDockCY=30
++MRUVertDockCX=31
++MRUVertDockCY=127
++MRUDockingState=0
++DockingStyle=61440
++TypeID=14946
++ClassName=SECCustomToolBar
++WindowName=Window
++ResourceID=0
++ptn_Child1=ToolBarInfoEx
++
++[WorkState_v1_2.DockState.Bar-16.ToolBarInfoEx]
++Title=Window
++Buttons=OHIBAAAAAAPHIBAAAAAACDBOAAAAAADDBOAAAAAAEDBOAAAAAA
++
++[WorkState_v1_2.DockState.Bar-17]
++BarID=59403
++Visible=False
++XPos=-2
++MRUWidth=115
++Docking=True
++MRUDockID=59419
++MRUDockLeftPos=331
++MRUDockTopPos=26
++MRUDockRightPos=463
++MRUDockBottomPos=56
++MRUFloatStyle=8196
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=12213
++ExStyle=131852
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=129
++MRUFloatCY=30
++MRUHorzDockCX=132
++MRUHorzDockCY=30
++MRUVertDockCX=31
++MRUVertDockCY=127
++MRUDockingState=0
++DockingStyle=61440
++TypeID=14946
++ClassName=SECCustomToolBar
++WindowName=Help
++ResourceID=0
++ptn_Child1=ToolBarInfoEx
++
++[WorkState_v1_2.DockState.Bar-17.ToolBarInfoEx]
++Title=Help
++Buttons=KDIBAAAAAADEBOAAAAAAAEBOAAAAAAEFPBAAAAAAFFPBAAAAAA
++
++[WorkState_v1_2.DockState.Bar-18]
++BarID=5720
++XPos=1
++YPos=-2
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=1
++MRUDockTopPos=-2
++MRUDockRightPos=289
++MRUDockBottomPos=367
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=8068
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=180
++MRUVertDockCX=288
++MRUVertDockCY=369
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=CProjectWorkspaceWnd
++WindowName=Workspace
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-19]
++BarID=5721
++XPos=1
++YPos=5
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=1
++MRUDockTopPos=5
++MRUDockRightPos=925
++MRUDockBottomPos=155
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=36756
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=924
++MRUHorzDockCY=150
++MRUVertDockCX=300
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=COutputControlBar
++WindowName=Output
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-20]
++BarID=5701
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=26
++MRUDockRightPos=0
++MRUDockBottomPos=26
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=20356
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=180
++MRUVertDockCX=150
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=CNewDisassControlBar
++WindowName=Disassembly
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-21]
++BarID=5704
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=26
++MRUDockRightPos=0
++MRUDockBottomPos=26
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=36612
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=500000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=150
++MRUVertDockCX=300
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=CRegisterControlBar
++WindowName=Registers
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-22]
++BarID=35100
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=26
++MRUDockRightPos=0
++MRUDockBottomPos=26
++MRUFloatStyle=4
++MRUFloatXPos=-2147483648
++MRUFloatYPos=0
++Style=20356
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=180
++MRUVertDockCX=150
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=CNewDumpControlBar
++WindowName=Memory #1
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-23]
++BarID=35101
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=26
++MRUDockRightPos=0
++MRUDockBottomPos=26
++MRUFloatStyle=4
++MRUFloatXPos=-2147483648
++MRUFloatYPos=0
++Style=20356
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=180
++MRUVertDockCX=150
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=CNewDumpControlBar
++WindowName=Memory #2
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-24]
++BarID=35102
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=26
++MRUDockRightPos=0
++MRUDockBottomPos=26
++MRUFloatStyle=4
++MRUFloatXPos=-2147483648
++MRUFloatYPos=0
++Style=20356
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=180
++MRUVertDockCX=150
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=CNewDumpControlBar
++WindowName=Memory #3
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-25]
++BarID=35103
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=26
++MRUDockRightPos=0
++MRUDockBottomPos=26
++MRUFloatStyle=4
++MRUFloatXPos=-2147483648
++MRUFloatYPos=0
++Style=20356
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=1000000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=180
++MRUVertDockCX=150
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=CNewDumpControlBar
++WindowName=Memory #4
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-26]
++BarID=5708
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=26
++MRUDockRightPos=0
++MRUDockBottomPos=26
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=8068
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=500000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=180
++MRUVertDockCX=288
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=CSoftBkControlBar
++WindowName=Instruction Breakpoints
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-27]
++BarID=5710
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=26
++MRUDockRightPos=0
++MRUDockBottomPos=26
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=36740
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=666665
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=150
++MRUVertDockCX=300
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=CWatchControlBar
++WindowName=Watch
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-28]
++BarID=5706
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=26
++MRUDockRightPos=0
++MRUDockBottomPos=26
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=36612
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=750000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=150
++MRUVertDockCX=300
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=CStackControlBar
++WindowName=Call Stack
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-29]
++BarID=5707
++Visible=False
++XPos=0
++YPos=0
++Docking=True
++MRUDockID=0
++MRUDockLeftPos=0
++MRUDockTopPos=26
++MRUDockRightPos=0
++MRUDockBottomPos=26
++MRUFloatStyle=4
++MRUFloatXPos=-1
++MRUFloatYPos=0
++Style=36612
++ExStyle=69393
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=800000
++MRUFloatCX=300
++MRUFloatCY=180
++MRUHorzDockCX=300
++MRUHorzDockCY=150
++MRUVertDockCX=300
++MRUVertDockCY=180
++MRUDockingState=0
++DockingStyle=61440
++TypeID=0
++ClassName=CLocalsControlBar
++WindowName=Local Variables
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-30]
++BarID=59423
++Horz=True
++Floating=True
++XPos=340
++YPos=76
++Bars=3
++Bar#0=0
++Bar#1=59403
++Bar#2=0
++Style=0
++ExStyle=0
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=0
++MRUFloatCX=0
++MRUFloatCY=0
++MRUHorzDockCX=0
++MRUHorzDockCY=0
++MRUVertDockCX=0
++MRUVertDockCY=0
++MRUDockingState=0
++DockingStyle=0
++TypeID=0
++ClassName=
++WindowName=
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-31]
++BarID=59423
++Horz=True
++Floating=True
++XPos=1073
++YPos=202
++Bars=3
++Bar#0=0
++Bar#1=59402
++Bar#2=0
++Style=0
++ExStyle=0
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=0
++MRUFloatCX=0
++MRUFloatCY=0
++MRUHorzDockCX=0
++MRUHorzDockCY=0
++MRUVertDockCX=0
++MRUVertDockCY=0
++MRUDockingState=0
++DockingStyle=0
++TypeID=0
++ClassName=
++WindowName=
++ResourceID=0
++
++[WorkState_v1_2.DockState.Bar-32]
++BarID=59423
++Horz=True
++Floating=True
++XPos=1272
++YPos=76
++Bars=3
++Bar#0=0
++Bar#1=59397
++Bar#2=0
++Style=0
++ExStyle=0
++PrevFloating=False
++MDIChild=False
++AutoHide=False
++AutoHidePinned=False
++LastAlignedDocking=0
++PctWidth=0
++MRUFloatCX=0
++MRUFloatCY=0
++MRUHorzDockCX=0
++MRUHorzDockCY=0
++MRUVertDockCX=0
++MRUVertDockCY=0
++MRUDockingState=0
++DockingStyle=0
++TypeID=0
++ClassName=
++WindowName=
++ResourceID=0
++
++[WorkState_v1_2.ToolBarMgr]
++ToolTips=True
++CoolLook=True
++LargeButtons=False
++
++[WorkState_v1_2.Frames]
++ptn_Child1=MainFrame
++ptn_Child2=ChildFrames
++
++[WorkState_v1_2.Frames.MainFrame]
++WindowPlacement=MCAAAAAAAAAAAAAABAAAAAAAPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPJGAAAAAAMEAAAAAAGBEAAAAALOCAAAAA
++Title=ST Visual Develop - Project.stw - [main.c]
++
++[WorkState_v1_2.Frames.ChildFrames]
++ptn_Child1=Document-0
++ptn_Child2=Document-1
++ptn_Child3=Document-2
++
++[WorkState_v1_2.Frames.ChildFrames.Document-0]
++ptn_Child1=ViewFrame-0
++
++[WorkState_v1_2.Frames.ChildFrames.Document-0.ViewFrame-0]
++DocPathName=..\..\main.c
++DocumentString=
++DocTemplateIndex=0
++WindowPlacement=MCAAAAAACAAAAAAADAAAAAAAPPPPPPPPPPPPPPPPIPPPPPPPCOPPPPPPJBAAAAAAJBAAAAAAMADAAAAAHNBAAAAA
++IsActiveChildFrame=True
++IsFrameVisible=True
++
++[WorkState_v1_2.Frames.ChildFrames.Document-1]
++ptn_Child1=ViewFrame-0
++
++[WorkState_v1_2.Frames.ChildFrames.Document-1.ViewFrame-0]
++DocPathName=..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h
++DocumentString=
++DocTemplateIndex=0
++WindowPlacement=MCAAAAAAAAAAAAAABAAAAAAAPPPPPPPPPPPPPPPPIPPPPPPPCOPPPPPPJBAAAAAAJBAAAAAAABDAAAAALNBAAAAA
++IsActiveChildFrame=False
++IsFrameVisible=True
++
++[WorkState_v1_2.Frames.ChildFrames.Document-2]
++ptn_Child1=ViewFrame-0
++
++[WorkState_v1_2.Frames.ChildFrames.Document-2.ViewFrame-0]
++DocPathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++DocumentString=
++DocTemplateIndex=0
++WindowPlacement=MCAAAAAAAAAAAAAABAAAAAAAPPPPPPPPPPPPPPPPIPPPPPPPCOPPPPPPCDAAAAAACDAAAAAAJCDAAAAAEPBAAAAA
++IsActiveChildFrame=False
++IsFrameVisible=True
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/_WIN_upload.bat STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/_WIN_upload.bat
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/_WIN_upload.bat 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/_WIN_upload.bat 2015-02-19 15:50:44.000000000 +0100
+@@ -0,0 +1,30 @@
++REM just for output
++echo off
++cls
++
++REM set make tool (if not in PATH, set complete path)
++set MAKE=mingw32-make
++
++REM set path to STM8 flasher tool (own or by STM)
++set LOADER=C:\Users\ick2bue\Documents\STM8_serial_flasher\STM8_serial_flasher.exe
++
++REM set COM port for flash loader
++set PORT=7
++
++REM name of target hexfile
++set TARGET=Debug\stm8af52ax.s19
++
++REM ask user to put STM8 to bootloader mode
++echo.
++echo.
++echo reset STM8 and press return
++echo.
++PAUSE
++
++REM upload using STM8 bootloader (use own flash tool or STMFlashLoader by STM)
++%LOADER% -p COM%PORT% -f %TARGET% -q
++
++REM clean up
++:END
++PAUSE
++echo on
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/readme.txt STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/readme.txt
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/readme.txt 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/readme.txt 2014-10-21 18:31:54.000000000 +0200
+@@ -0,0 +1,83 @@
++/** @page project Template project for ST Visual Develop (STVD) toolchain with Cosmic compiler
++
++ @verbatim
++ ******************* (C) COPYRIGHT 2011 STMicroelectronics ********************
++ * @file readme.txt
++ * @author MCD Application Team
++ * @version V2.1.0
++ * @date 18-November-2011
++ * @brief This sub-directory contains all the user-modifiable files needed
++ * to create a new project linked with the STM8S/A Standard Peripheral
++ * Library and working with STVD and Cosmic software toolchain.
++ ******************************************************************************
++ * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
++ * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
++ * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
++ * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
++ * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
++ * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
++ ******************************************************************************
++ @endverbatim
++
++ @par Project description
++
++ This folder contains a standard STVD template workspace that includes 11
++ projects related to the FW Lib supported products.
++ Each project includes all the user-modifiable files that are necessary
++ to create a new project.
++ These project templates can be used by mean of minor updates in the library files
++ to run the FWLib examples, or custom user applications.
++
++
++ - project\\template\\STVD\\Cosmic
++ - project.stw Workspace file
++ - stm8s103.stp Project file for STM8S103 Low-density devices.
++ - stm8s003.stp Project file for STM8S003 Low-density devices.
++ - stm8s105.stp Project file for STM8S105 Medium-density devices.
++ - stm8s005.stp Project file for STM8S005 Medium-density devices.
++ - stm8s207.stp Project file for STM8S207 High-density devices.
++ - stm8s007.stp Project file for STM8S007 High-density devices.
++ - stm8s208.stp Project file for STM8S208 High-density devices.
++ - stm8s903.stp Project file for STM8S903 Low-density devices.
++ - stm8af52ax.stp Project file for STM8AF52Ax High-density devices.
++ - stm8af62ax.stp Project file for STM8AF62Ax High-density devices.
++ - stm8af626x.stp Project file for STM8A Medium-density devices.
++
++
++ @par How to use it ?
++
++ - Open the STVD workspace
++ - Set active the project related to the used product: Project-> Set Active Project,
++ and choose the desired project
++ - Select your debug instrument: Debug instrument-> Target Settings, select the
++ target you want to use for debug session (Swim Stice or Swim Rlink)
++ - Rebuild all files: Build-> Rebuild all.
++ - Load project image: Debug->Start Debugging
++ - Run program: Debug->Run (Ctrl+F5)
++
++ @b Tip: If it is your first time using STVD, you have to confirm the default
++ toolset and path information that will be used when building your application,
++ to do so:
++ - Select Tools-> Options
++ - In the Options window click on the Toolset tab
++ - Select your toolset from the Toolset list box.
++ If the path is incorrect you can type the correct path in the Root Path
++ field, or use the browse button to locate it.
++ - In the subpath fields, type the correct subpath if necessary
++
++ @note
++ - High-Density STM8A devices are the STM8AF52xx STM8AF6269/8x/Ax,
++ STM8AF51xx, and STM8AF6169/7x/8x/9x/Ax microcontrollers where the Flash memory
++ density ranges between 32 to 128 Kbytes
++ - Medium-Density STM8A devices are the STM8AF622x/4x, STM8AF6266/68,
++ STM8AF612x/4x, and STM8AF6166/68 microcontrollers where the Flash memory
++ density ranges between 8 to 32 Kbytes
++ - High-Density STM8S devices are the STM8S207xx, STM8S007 and STM8S208xx microcontrollers
++ where the Flash memory density ranges between 32 to 128 Kbytes.
++ - Medium-Density STM8S devices are the STM8S105x and STM8S005 microcontrollers
++ where the Flash memory density ranges between 16 to 32-Kbytes.
++ - Low-Density STM8S devices are the STM8S103xx, STM8S003 and STM8S903xx microcontrollers
++ where the Flash density is 8 Kbytes.
++
++ * <h3><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h3>
++ */
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/sctg.8 STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/sctg.8
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/sctg.8 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/sctg.8 2015-02-19 11:21:34.000000000 +0100
+@@ -0,0 +1,549 @@
++; STMicroelectronics Project file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
++
++[Project]
++Name=stm8s007
++Toolset=STM8 Cosmic
++
++[Config]
++0=Config.0
++1=Config.1
++
++[Config.0]
++ConfigName=Debug
++Target=$(ProjectSFile).elf
++OutputFolder=Debug
++Debug=$(TargetFName)
++
++[Config.1]
++ConfigName=Release
++Target=stm8s007.elf
++OutputFolder=Release
++Debug=$(TargetFName)
++
++[Root]
++ElemType=Project
++PathName=stm8s007
++Child=Root.STM8S_EVAL
++Config.0=Root.Config.0
++Config.1=Root.Config.1
++
++[Root.Config.0]
++Settings.0.0=Root.Config.0.Settings.0
++Settings.0.1=Root.Config.0.Settings.1
++Settings.0.2=Root.Config.0.Settings.2
++Settings.0.3=Root.Config.0.Settings.3
++Settings.0.4=Root.Config.0.Settings.4
++Settings.0.5=Root.Config.0.Settings.5
++Settings.0.6=Root.Config.0.Settings.6
++Settings.0.7=Root.Config.0.Settings.7
++Settings.0.8=Root.Config.0.Settings.8
++
++[Root.Config.1]
++Settings.1.0=Root.Config.1.Settings.0
++Settings.1.1=Root.Config.1.Settings.1
++Settings.1.2=Root.Config.1.Settings.2
++Settings.1.3=Root.Config.1.Settings.3
++Settings.1.4=Root.Config.1.Settings.4
++Settings.1.5=Root.Config.1.Settings.5
++Settings.1.6=Root.Config.1.Settings.6
++Settings.1.7=Root.Config.1.Settings.7
++Settings.1.8=Root.Config.1.Settings.8
++
++[Root.Config.0.Settings.0]
++String.6.0=2011,11,16,18,14,47
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM7 Cosmic
++String.100.3=STM8 Cosmic
++String.100.4=ST7 Metrowerks V1.1
++String.100.5=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Debug
++String.107.0=$(ProjectSFile).elf
++Int.108=0
++
++[Root.Config.0.Settings.1]
++String.6.0=2011,11,16,17,58,29
++String.100.0=$(TargetFName)
++String.101.0=
++String.103.0=.\;..\..\..\..\utilities\stm8s_eval;..\..;..\..\..\..\libraries\stm8s_stdperiph_driver\src;
++
++[Root.Config.0.Settings.2]
++String.2.0=
++String.6.0=2011,11,16,17,58,29
++String.100.0=STM8S007C8
++
++[Root.Config.0.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S007 -dUSE_STM8_128_EVAL -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc -i..\..\..\..\utilities\stm8s_eval -i..\..\..\..\utilities\stm8s_eval\common -i..\..\..\..\utilities\stm8s_eval\stm8-128_eval $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,41,42
++
++[Root.Config.0.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,17,58,29
++
++[Root.Config.0.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2011,11,16,17,58,29
++String.8.0=
++
++[Root.Config.0.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeInteger -fakeOutFile$(ProjectSFile).elf -fakeRunConv -fakeStartupcrtsi0.sm8 -fakeSemiAutoGen -fakeVectFilestm8_interrupt_vector.c -fakeVectAddr0x8000 -customMapFile -customMapFile-m$(OutputPath)$(TargetSName).map -customMapAddress -customCfgFile$(OutputPath)$(TargetSName).lkf
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=
++String.6.0=2011,11,16,18,29,46
++String.100.0=
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0xff80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x80 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0x1300 -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0x17fff]=.const,.text
++String.103.1=Eeprom[0x4000-0x407f]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x13ff]=.data,.bss
++String.104.0=0x17ff
++Int.0=0
++Int.1=0
++
++[Root.Config.0.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2011,11,16,17,58,29
++
++[Root.Config.0.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2011,11,16,17,58,29
++
++[Root.Config.1.Settings.0]
++String.6.0=2011,11,16,17,58,29
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM7 Cosmic
++String.100.3=STM8 Cosmic
++String.100.4=ST7 Metrowerks V1.1
++String.100.5=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Release
++String.107.0=stm8s007.elf
++Int.108=0
++
++[Root.Config.1.Settings.1]
++String.6.0=2011,11,16,17,58,29
++String.100.0=$(TargetFName)
++String.101.0=
++String.103.0=.\;..\..\..\..\utilities\stm8s_eval;..\..;..\..\..\..\libraries\stm8s_stdperiph_driver\src;
++
++[Root.Config.1.Settings.2]
++String.2.0=
++String.6.0=2011,11,16,17,58,29
++String.100.0=STM8S007C8
++
++[Root.Config.1.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,17,58,29
++
++[Root.Config.1.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,17,58,29
++
++[Root.Config.1.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2011,11,16,17,58,29
++
++[Root.Config.1.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk -fakeRunConv -fakeInteger -fakeSemiAutoGen $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeOutFile$(ProjectSFile).elf -customCfgFile $(OutputPath)$(TargetSName).lkf -fakeVectFilestm8_interrupt_vector.c -fakeStartupcrtsi0.sm8
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8 -fakeVectAddr0x8000
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=$(OutputPath)$(TargetSName).map $(OutputPath)$(TargetSName).st7 $(OutputPath)$(TargetSName).s19
++String.6.0=2011,11,16,17,58,29
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0xff80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x80 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0x1300 -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0x17fff]=.const,.text
++String.103.1=Eeprom[0x4000-0x407f]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x13ff]=.data,.bss
++String.104.0=0x17ff
++Int.0=0
++Int.1=0
++
++[Root.Config.1.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2011,11,16,17,58,29
++
++[Root.Config.1.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2011,11,16,17,58,29
++
++[Root.STM8S_EVAL]
++ElemType=Folder
++PathName=STM8S_EVAL
++Child=Root.STM8S_EVAL...\..\..\..\utilities\stm8s_eval\stm8s_eval.c
++Next=Root.Source Files
++Config.0=Root.STM8S_EVAL.Config.0
++Config.1=Root.STM8S_EVAL.Config.1
++
++[Root.STM8S_EVAL.Config.0]
++Settings.0.0=Root.STM8S_EVAL.Config.0.Settings.0
++Settings.0.1=Root.STM8S_EVAL.Config.0.Settings.1
++Settings.0.2=Root.STM8S_EVAL.Config.0.Settings.2
++Settings.0.3=Root.STM8S_EVAL.Config.0.Settings.3
++
++[Root.STM8S_EVAL.Config.1]
++Settings.1.0=Root.STM8S_EVAL.Config.1.Settings.0
++Settings.1.1=Root.STM8S_EVAL.Config.1.Settings.1
++Settings.1.2=Root.STM8S_EVAL.Config.1.Settings.2
++Settings.1.3=Root.STM8S_EVAL.Config.1.Settings.3
++
++[Root.STM8S_EVAL.Config.0.Settings.0]
++String.6.0=2011,11,16,17,59,13
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.STM8S_EVAL.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S007 -dUSE_STM8_128_EVAL -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc -i..\..\..\..\utilities\stm8s_eval -i..\..\..\..\utilities\stm8s_eval\common -i..\..\..\..\utilities\stm8s_eval\stm8-128_eval $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,41,42
++
++[Root.STM8S_EVAL.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,17,58,29
++
++[Root.STM8S_EVAL.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,11,16,17,58,29
++
++[Root.STM8S_EVAL.Config.1.Settings.0]
++String.6.0=2011,11,16,17,59,13
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.STM8S_EVAL.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,17,58,29
++
++[Root.STM8S_EVAL.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,17,58,29
++
++[Root.STM8S_EVAL.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,11,16,17,58,29
++
++[Root.STM8S_EVAL...\..\..\..\utilities\stm8s_eval\stm8s_eval.c]
++ElemType=File
++PathName=..\..\..\..\utilities\stm8s_eval\stm8s_eval.c
++
++[Root.Source Files]
++ElemType=Folder
++PathName=Source Files
++Child=Root.Source Files...\..\main.c
++Next=Root.StdPeriph_Drivers
++Config.0=Root.Source Files.Config.0
++Config.1=Root.Source Files.Config.1
++
++[Root.Source Files.Config.0]
++Settings.0.0=Root.Source Files.Config.0.Settings.0
++Settings.0.1=Root.Source Files.Config.0.Settings.1
++Settings.0.2=Root.Source Files.Config.0.Settings.2
++Settings.0.3=Root.Source Files.Config.0.Settings.3
++
++[Root.Source Files.Config.1]
++Settings.1.0=Root.Source Files.Config.1.Settings.0
++Settings.1.1=Root.Source Files.Config.1.Settings.1
++Settings.1.2=Root.Source Files.Config.1.Settings.2
++Settings.1.3=Root.Source Files.Config.1.Settings.3
++
++[Root.Source Files.Config.0.Settings.0]
++String.6.0=2011,11,16,17,59,25
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S007 -dUSE_STM8_128_EVAL -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc -i..\..\..\..\utilities\stm8s_eval -i..\..\..\..\utilities\stm8s_eval\common -i..\..\..\..\utilities\stm8s_eval\stm8-128_eval $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,41,42
++
++[Root.Source Files.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,17,58,29
++
++[Root.Source Files.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,11,16,17,58,29
++
++[Root.Source Files.Config.1.Settings.0]
++String.6.0=2011,11,16,17,59,25
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,17,58,29
++
++[Root.Source Files.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,17,58,29
++
++[Root.Source Files.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,11,16,17,58,29
++
++[Root.Source Files...\..\main.c]
++ElemType=File
++PathName=..\..\main.c
++Next=Root.Source Files...\..\stm8s_it.c
++
++[Root.Source Files...\..\stm8s_it.c]
++ElemType=File
++PathName=..\..\stm8s_it.c
++Next=Root.Source Files.stm8_interrupt_vector.c
++
++[Root.Source Files.stm8_interrupt_vector.c]
++ElemType=File
++PathName=stm8_interrupt_vector.c
++
++[Root.StdPeriph_Drivers]
++ElemType=Folder
++PathName=StdPeriph_Drivers
++Child=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc2.c
++Config.0=Root.StdPeriph_Drivers.Config.0
++Config.1=Root.StdPeriph_Drivers.Config.1
++
++[Root.StdPeriph_Drivers.Config.0]
++Settings.0.0=Root.StdPeriph_Drivers.Config.0.Settings.0
++Settings.0.1=Root.StdPeriph_Drivers.Config.0.Settings.1
++Settings.0.2=Root.StdPeriph_Drivers.Config.0.Settings.2
++Settings.0.3=Root.StdPeriph_Drivers.Config.0.Settings.3
++
++[Root.StdPeriph_Drivers.Config.1]
++Settings.1.0=Root.StdPeriph_Drivers.Config.1.Settings.0
++Settings.1.1=Root.StdPeriph_Drivers.Config.1.Settings.1
++Settings.1.2=Root.StdPeriph_Drivers.Config.1.Settings.2
++Settings.1.3=Root.StdPeriph_Drivers.Config.1.Settings.3
++
++[Root.StdPeriph_Drivers.Config.0.Settings.0]
++String.6.0=2011,11,16,17,59,39
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Drivers.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S007 -dUSE_STM8_128_EVAL -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc -i..\..\..\..\utilities\stm8s_eval -i..\..\..\..\utilities\stm8s_eval\common -i..\..\..\..\utilities\stm8s_eval\stm8-128_eval $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,41,42
++
++[Root.StdPeriph_Drivers.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,17,58,29
++
++[Root.StdPeriph_Drivers.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,11,16,17,58,29
++
++[Root.StdPeriph_Drivers.Config.1.Settings.0]
++String.6.0=2011,11,16,17,59,39
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Drivers.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,17,58,29
++
++[Root.StdPeriph_Drivers.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,17,58,29
++
++[Root.StdPeriph_Drivers.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,11,16,17,58,29
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc2.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc2.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart3.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart3.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart3.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8_interrupt_vector.c STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8_interrupt_vector.c
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8_interrupt_vector.c 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8_interrupt_vector.c 2014-10-21 18:31:54.000000000 +0200
+@@ -0,0 +1,104 @@
++/* BASIC INTERRUPT VECTORS TABLE FOR STM8 devices
++ * Copyright (c) 2014 STMicroelectronics
++ */
++
++#include "stm8s_it.h"
++
++typedef void @far (*interrupt_handler_t)(void);
++
++struct interrupt_vector {
++ u8 interrupt_instruction;
++ interrupt_handler_t interrupt_handler;
++};
++
++struct interrupt_vector const _vectab[] = {
++ {0x82, (interrupt_handler_t)_stext}, /* RESET */
++ {0x82, (interrupt_handler_t)TRAP_IRQHandler}, /* TRAP - Software interrupt */
++ {0x82, (interrupt_handler_t)TLI_IRQHandler}, /* irq0 - External Top Level interrupt (TLI) */
++ {0x82, (interrupt_handler_t)AWU_IRQHandler}, /* irq1 - Auto Wake Up from Halt interrupt */
++ {0x82, (interrupt_handler_t)CLK_IRQHandler}, /* irq2 - Clock Controller interrupt */
++ {0x82, (interrupt_handler_t)EXTI_PORTA_IRQHandler}, /* irq3 - External interrupt 0 (GPIOA) */
++ {0x82, (interrupt_handler_t)EXTI_PORTB_IRQHandler}, /* irq4 - External interrupt 1 (GPIOB) */
++ {0x82, (interrupt_handler_t)EXTI_PORTC_IRQHandler}, /* irq5 - External interrupt 2 (GPIOC) */
++ {0x82, (interrupt_handler_t)EXTI_PORTD_IRQHandler}, /* irq6 - External interrupt 3 (GPIOD) */
++ {0x82, (interrupt_handler_t)EXTI_PORTE_IRQHandler}, /* irq7 - External interrupt 4 (GPIOE) */
++
++#if defined(STM8S208) || defined(STM8AF52Ax)
++ {0x82, (interrupt_handler_t)CAN_RX_IRQHandler}, /* irq8 - CAN Rx interrupt */
++ {0x82, (interrupt_handler_t)CAN_TX_IRQHandler}, /* irq9 - CAN Tx/ER/SC interrupt */
++#elif defined(STM8S903) || defined(STM8AF622x)
++ {0x82, (interrupt_handler_t)EXTI_PORTF_IRQHandler}, /* irq8 - External interrupt 5 (GPIOF) */
++ {0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq9 - Reserved */
++#else /*STM8S207, STM8S105 or STM8AF62Ax or STM8AF626x*/
++ {0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq8 - Reserved */
++ {0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq9 - Reserved */
++#endif /* STM8S208 or STM8AF52Ax */
++ {0x82, (interrupt_handler_t)SPI_IRQHandler}, /* irq10 - SPI End of transfer interrupt */
++ {0x82, (interrupt_handler_t)TIM1_UPD_OVF_TRG_BRK_IRQHandler}, /* irq11 - TIM1 Update/Overflow/Trigger/Break interrupt */
++ {0x82, (interrupt_handler_t)TIM1_CAP_COM_IRQHandler}, /* irq12 - TIM1 Capture/Compare interrupt */
++
++#if defined(STM8S903) || defined(STM8AF622x)
++ {0x82, (interrupt_handler_t)TIM5_UPD_OVF_BRK_TRG_IRQHandler}, /* irq13 - TIM5 Update/Overflow/Break/Trigger interrupt */
++ {0x82, (interrupt_handler_t)TIM5_CAP_COM_IRQHandler}, /* irq14 - TIM5 Capture/Compare interrupt */
++
++#else /*STM8S208, STM8S207, STM8S105 or STM8S103 or STM8AF62Ax or STM8AF52Ax or STM8AF626x*/
++ {0x82, (interrupt_handler_t)TIM2_UPD_OVF_BRK_IRQHandler}, /* irq13 - TIM2 Update/Overflow/Break interrupt */
++ {0x82, (interrupt_handler_t)TIM2_CAP_COM_IRQHandler}, /* irq14 - TIM2 Capture/Compare interrupt */
++#endif /*STM8S903*/
++
++#if defined(STM8S208) || defined(STM8S207) || defined(STM8S007) || defined(STM8S105) || \
++ defined(STM8S005) || defined(STM8AF52Ax) || defined(STM8AF62Ax) || defined(STM8AF626x)
++ {0x82, (interrupt_handler_t)TIM3_UPD_OVF_BRK_IRQHandler}, /* irq15 - TIM3 Update/Overflow/Break interrupt */
++ {0x82, (interrupt_handler_t)TIM3_CAP_COM_IRQHandler}, /* irq16 - TIM3 Capture/Compare interrupt */
++#else
++ {0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq15 - Reserved */
++ {0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq16 - Reserved */
++#endif /*STM8S208, STM8S207, STM8S105 or STM8AF62Ax or STM8AF52Ax or STM8AF626x*/
++
++#if defined(STM8S105) || defined(STM8S005) || defined(STM8AF626x)
++ {0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq17 - Reserved */
++ {0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq18 - Reserved */
++#elif defined (STM8AF622x)
++ {0x82, (interrupt_handler_t)UART4_TX_IRQHandler}, /* irq17 - UART4 Tx complete interrupt */
++ {0x82, (interrupt_handler_t)UART4_RX_IRQHandler}, /* irq18 - UART4 Rx interrupt */
++#else
++ {0x82, (interrupt_handler_t)UART1_TX_IRQHandler}, /* irq17 - UART1 Tx complete interrupt */
++ {0x82, (interrupt_handler_t)UART1_RX_IRQHandler}, /* irq18 - UART1 Rx interrupt */
++#endif /*STM8S105 or STM8AF626x */
++ {0x82, (interrupt_handler_t)I2C_IRQHandler}, /* irq19 - I2C interrupt */
++
++#if defined(STM8S208) || defined(STM8S207) || defined(STM8S007) || defined(STM8AF52Ax) || defined(STM8AF62Ax)
++
++ {0x82, (interrupt_handler_t)UART3_TX_IRQHandler}, /* irq20 - UART3 Tx interrupt */
++ {0x82, (interrupt_handler_t)UART3_RX_IRQHandler}, /* irq21 - UART3 Rx interrupt */
++#elif defined(STM8S105) || defined(STM8S005) || defined(STM8AF626x)
++ {0x82, (interrupt_handler_t)UART2_TX_IRQHandler}, /* irq20 - UART2 Tx interrupt */
++ {0x82, (interrupt_handler_t)UART2_RX_IRQHandler}, /* irq21 - UART2 Rx interrupt */
++
++#else /* STM8S103, STM8S903, STM8AF622x */
++ {0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq20 - Reserved */
++ {0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq21 - Reserved */
++#endif /* STM8S208, STM8S207, STM8AF52Ax or STM8AF62Ax */
++
++#if defined(STM8S208) || defined(STM8S207) || defined(STM8S007) || defined(STM8AF52Ax) || defined(STM8AF62Ax)
++ {0x82, (interrupt_handler_t)ADC2_IRQHandler}, /* irq22 - ADC2 end of conversion interrupt */
++#else /* STM8S105, STM8S103, STM8S903, STM8AF622x */
++ {0x82, (interrupt_handler_t)ADC1_IRQHandler}, /* irq22 - ADC1 end of conversion/Analog watchdog interrupts */
++
++#endif /* STM8S208, STM8S207, STM8AF52Ax or STM8AF62Ax */
++
++#if defined(STM8S903) || defined(STM8AF622x)
++ {0x82, (interrupt_handler_t)TIM6_UPD_OVF_TRG_IRQHandler}, /* irq23 - TIM6 Update/Overflow/Trigger interrupt */
++#else
++ {0x82, (interrupt_handler_t)TIM4_UPD_OVF_IRQHandler}, /* irq23 - TIM4 Update/Overflow interrupt */
++#endif /* (STM8S903) || (STM8AF622x) */
++ {0x82, (interrupt_handler_t)EEPROM_EEC_IRQHandler}, /* irq24 - FLASH interrupt */
++ {0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq25 - Reserved */
++ {0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq26 - Reserved */
++ {0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq27 - Reserved */
++ {0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq28 - Reserved */
++ {0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq29 - Reserved */
++
++};
++
++/******************* (C) COPYRIGHT 2014 STMicroelectronics *****END OF FILE****/
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af52ax.dep STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af52ax.dep
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af52ax.dep 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af52ax.dep 2015-02-23 17:52:32.000000000 +0100
+@@ -0,0 +1,80 @@
++; STMicroelectronics dependencies file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
++
++[Root.STM8S_EVAL...\..\..\..\utilities\stm8s_eval\stm8s_eval.c.Config.0]
++ExternDep= ..\..\..\..\utilities\stm8s_eval\stm8s_eval.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\..\..\utilities\stm8s_eval\stm8s_eval.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h ..\..\..\..\utilities\stm8s_eval\stm8-128_eval/stm8_128_eval.h ..\..\..\..\utilities\stm8s_eval\stm8-128_eval/stm8_128_eval.c ..\..\..\..\utilities\stm8s_eval\stm8-128_eval\stm8_128_eval.h
++
++[Root.Source Files...\..\blink.c.Config.0]
++ExternDep= ..\..\blink.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\blink.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h
++
++[Root.Source Files...\..\main.c.Config.0]
++ExternDep= ..\..\main.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h "C:\Program Files\COSMIC\CXSTM8\Hstm8\stdio.h" ..\..\blink.h
++
++[Root.Source Files...\..\stm8s_it.c.Config.0]
++ExternDep= ..\..\stm8s_it.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\..\stm8s_stdperiph_template\stm8s_it.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h
++
++[Root.Source Files.stm8_interrupt_vector.c.Config.0]
++ExternDep= stm8_interrupt_vector.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\..\stm8s_stdperiph_template\stm8s_it.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc2.c.Config.0]
++ExternDep= ..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc2.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c.Config.0]
++ExternDep= ..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c.Config.0]
++ExternDep= ..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_can.c.Config.0]
++ExternDep= ..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_can.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c.Config.0]
++ExternDep= ..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c.Config.0]
++ExternDep= ..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c.Config.0]
++ExternDep= ..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c.Config.0]
++ExternDep= ..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c.Config.0]
++ExternDep= ..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c.Config.0]
++ExternDep= ..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c.Config.0]
++ExternDep= ..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c.Config.0]
++ExternDep= ..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c.Config.0]
++ExternDep= ..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c.Config.0]
++ExternDep= ..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c.Config.0]
++ExternDep= ..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c.Config.0]
++ExternDep= ..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c.Config.0]
++ExternDep= ..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c.Config.0]
++ExternDep= ..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart3.c.Config.0]
++ExternDep= ..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart3.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c.Config.0]
++ExternDep= ..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c "C:\Program Files\COSMIC\CXSTM8\Hstm8\modsl0.h" ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_wwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s.h ..\..\..\stm8s_stdperiph_template\stm8s_conf.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_adc2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_awu.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_beep.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_can.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_clk.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_exti.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_flash.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_gpio.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_i2c.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_itc.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_iwdg.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_rst.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_spi.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim2.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim3.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_tim4.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart1.h ..\..\..\..\libraries\stm8s_stdperiph_driver\inc\stm8s_uart3.h
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af52ax.pdb STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af52ax.pdb
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af52ax.pdb 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af52ax.pdb 2015-02-23 17:50:30.000000000 +0100
+@@ -0,0 +1,39 @@
++[DebugState_v1-Debug.DebugContext]
++DumpRWOnFly1=0
++DumpRWOnFly2=0
++DumpRWOnFly3=0
++DumpRWOnFly4=0
++WatchVariables1=
++FormatWatch1=0
++FormatViewType1=1
++FormatViewAddress1=1
++WatchRWOnFlyTab1=0
++WatchVariables2=
++FormatWatch2=0
++FormatViewType2=1
++FormatViewAddress2=1
++WatchRWOnFlyTab2=0
++WatchVariables3=
++FormatWatch3=0
++FormatViewType3=1
++FormatViewAddress3=1
++WatchRWOnFlyTab3=0
++WatchVariables4=
++FormatWatch4=0
++FormatViewType4=1
++FormatViewAddress4=1
++WatchRWOnFlyTab4=0
++FormatLocals=0
++FormatParameters=0
++[DebugState_v1-Debug.AddOn.St7Registers]
++ActiveTab=2
++[DebugState_v1-Debug.AddOn.St7PeripheralRegister]
++DisplayFormat=1
++ShowPeriphAddress=0
++ShowRegisterAddress=1
++[DebugState_v1-Debug.AddOn.St7McuIcdConf]
++McuName=STM8AF52AA
++[DebugState_v1-Debug.AddOn.IcdBreak]
++ICDBreak0=CR:0x00000000,BK1:0x00000000,BK2:0x00000000
++[DebugState_v1-Debug.AddOn.SteppingMode]
++Mode=hardware
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af52ax.stp STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af52ax.stp
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af52ax.stp 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af52ax.stp 2015-02-19 15:52:36.000000000 +0100
+@@ -0,0 +1,561 @@
++; STMicroelectronics Project file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
++
++[Project]
++Name=stm8af52ax
++Toolset=STM8 Cosmic
++
++[Config]
++0=Config.0
++1=Config.1
++
++[Config.0]
++ConfigName=Debug
++Target=$(ProjectSFile).elf
++OutputFolder=Debug
++Debug=$(TargetFName)
++
++[Config.1]
++ConfigName=Release
++Target=stm8af52ax.elf
++OutputFolder=Release
++Debug=$(TargetFName)
++
++[Root]
++ElemType=Project
++PathName=stm8af52ax
++Child=Root.STM8S_EVAL
++Config.0=Root.Config.0
++Config.1=Root.Config.1
++
++[Root.Config.0]
++Settings.0.0=Root.Config.0.Settings.0
++Settings.0.1=Root.Config.0.Settings.1
++Settings.0.2=Root.Config.0.Settings.2
++Settings.0.3=Root.Config.0.Settings.3
++Settings.0.4=Root.Config.0.Settings.4
++Settings.0.5=Root.Config.0.Settings.5
++Settings.0.6=Root.Config.0.Settings.6
++Settings.0.7=Root.Config.0.Settings.7
++Settings.0.8=Root.Config.0.Settings.8
++
++[Root.Config.1]
++Settings.1.0=Root.Config.1.Settings.0
++Settings.1.1=Root.Config.1.Settings.1
++Settings.1.2=Root.Config.1.Settings.2
++Settings.1.3=Root.Config.1.Settings.3
++Settings.1.4=Root.Config.1.Settings.4
++Settings.1.5=Root.Config.1.Settings.5
++Settings.1.6=Root.Config.1.Settings.6
++Settings.1.7=Root.Config.1.Settings.7
++Settings.1.8=Root.Config.1.Settings.8
++
++[Root.Config.0.Settings.0]
++String.6.0=2015,2,19,9,49,57
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM7 Cosmic
++String.100.3=STM8 Cosmic
++String.100.4=ST7 Metrowerks V1.1
++String.100.5=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Debug
++String.107.0=$(ProjectSFile).elf
++Int.108=1
++
++[Root.Config.0.Settings.1]
++String.6.0=2011,2,18,16,57,8
++String.100.0=$(TargetFName)
++String.101.0=
++String.102.0=
++String.103.0=.\;..\..;..\..\..\..\utilities\stm8s_eval;..\..\..\..\libraries\stm8s_stdperiph_driver\src;
++
++[Root.Config.0.Settings.2]
++String.2.0=
++String.6.0=2011,2,22,8,53,36
++String.100.0=STM8AF52AA
++
++[Root.Config.0.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8AF52Ax -dUSE_STM8_128_EVAL -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc -i..\..\..\..\utilities\stm8s_eval\common -i..\..\..\..\utilities\stm8s_eval\stm8-128_eval -i..\..\..\..\utilities\stm8s_eval $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.Config.0.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,18,16,57,8
++
++[Root.Config.0.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2011,2,18,16,57,8
++String.8.0=
++
++[Root.Config.0.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeInteger -fakeOutFile$(ProjectSFile).elf -fakeRunConv -fakeStartupcrtsi0.sm8 -fakeSemiAutoGen -fakeVectFilestm8_interrupt_vector.c -fakeVectAddr0x8000 -customMapFile -customMapFile-m$(OutputPath)$(TargetSName).map -customMapAddress -customCfgFile$(OutputPath)$(TargetSName).lkf
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=$(OutputPath)$(ProjectSFile).elf $(OutputPath)$(TargetSName).map
++String.6.0=2015,2,19,9,51,15
++String.100.0=
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0x1ff80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x800 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0x1300 -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0x27fff]=.const,.text
++String.103.1=Eeprom[0x4000-0x47ff]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x13ff]=.data,.bss
++String.104.0=0x17ff
++String.105.0=libisl0.sm8;libm0.sm8
++Int.0=0
++Int.1=0
++
++[Root.Config.0.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2011,2,18,16,57,8
++
++[Root.Config.0.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2011,2,18,16,57,8
++
++[Root.Config.1.Settings.0]
++String.6.0=2011,2,18,16,57,8
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM7 Cosmic
++String.100.3=STM8 Cosmic
++String.100.4=ST7 Metrowerks V1.1
++String.100.5=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Release
++String.107.0=stm8af52ax.elf
++Int.108=0
++
++[Root.Config.1.Settings.1]
++String.6.0=2011,2,18,16,57,8
++String.100.0=$(TargetFName)
++String.101.0=
++String.103.0=.\;..\..;..\..\..\..\utilities\stm8s_eval;..\..\..\..\libraries\stm8s_stdperiph_driver\src;
++
++[Root.Config.1.Settings.2]
++String.2.0=
++String.6.0=2011,2,22,8,53,36
++String.100.0=STM8AF52AA
++
++[Root.Config.1.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,18,16,57,8
++
++[Root.Config.1.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,18,16,57,8
++
++[Root.Config.1.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2011,2,18,16,57,8
++
++[Root.Config.1.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk -fakeRunConv -fakeInteger -fakeSemiAutoGen $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeOutFile$(ProjectSFile).elf -customCfgFile $(OutputPath)$(TargetSName).lkf -fakeVectFilestm8_interrupt_vector.c -fakeStartupcrtsi0.sm8
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8 -fakeVectAddr0x8000
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=$(OutputPath)$(TargetSName).map $(OutputPath)$(TargetSName).st7 $(OutputPath)$(TargetSName).s19
++String.6.0=2011,2,18,16,57,8
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0x1ff80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x800 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0x1300 -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0x27fff]=.const,.text
++String.103.1=Eeprom[0x4000-0x47ff]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x13ff]=.data,.bss
++String.104.0=0x17ff
++Int.0=0
++Int.1=0
++
++[Root.Config.1.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2011,2,18,16,57,8
++
++[Root.Config.1.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2011,2,18,16,57,8
++
++[Root.STM8S_EVAL]
++ElemType=Folder
++PathName=STM8S_EVAL
++Child=Root.STM8S_EVAL...\..\..\..\utilities\stm8s_eval\stm8s_eval.c
++Next=Root.Source Files
++Config.0=Root.STM8S_EVAL.Config.0
++Config.1=Root.STM8S_EVAL.Config.1
++
++[Root.STM8S_EVAL.Config.0]
++Settings.0.0=Root.STM8S_EVAL.Config.0.Settings.0
++Settings.0.1=Root.STM8S_EVAL.Config.0.Settings.1
++Settings.0.2=Root.STM8S_EVAL.Config.0.Settings.2
++Settings.0.3=Root.STM8S_EVAL.Config.0.Settings.3
++
++[Root.STM8S_EVAL.Config.1]
++Settings.1.0=Root.STM8S_EVAL.Config.1.Settings.0
++Settings.1.1=Root.STM8S_EVAL.Config.1.Settings.1
++Settings.1.2=Root.STM8S_EVAL.Config.1.Settings.2
++Settings.1.3=Root.STM8S_EVAL.Config.1.Settings.3
++
++[Root.STM8S_EVAL.Config.0.Settings.0]
++String.6.0=2011,2,22,8,49,36
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.STM8S_EVAL.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8AF52Ax -dUSE_STM8_128_EVAL -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc -i..\..\..\..\utilities\stm8s_eval\common -i..\..\..\..\utilities\stm8s_eval\stm8-128_eval -i..\..\..\..\utilities\stm8s_eval $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.STM8S_EVAL.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,18,16,57,8
++
++[Root.STM8S_EVAL.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,2,18,16,57,8
++
++[Root.STM8S_EVAL.Config.1.Settings.0]
++String.6.0=2011,2,22,8,49,36
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.STM8S_EVAL.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,18,16,57,8
++
++[Root.STM8S_EVAL.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,18,16,57,8
++
++[Root.STM8S_EVAL.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,2,18,16,57,8
++
++[Root.STM8S_EVAL...\..\..\..\utilities\stm8s_eval\stm8s_eval.c]
++ElemType=File
++PathName=..\..\..\..\utilities\stm8s_eval\stm8s_eval.c
++
++[Root.Source Files]
++ElemType=Folder
++PathName=Source Files
++Child=Root.Source Files...\..\blink.c
++Next=Root.StdPeriph_Drivers
++Config.0=Root.Source Files.Config.0
++Config.1=Root.Source Files.Config.1
++
++[Root.Source Files.Config.0]
++Settings.0.0=Root.Source Files.Config.0.Settings.0
++Settings.0.1=Root.Source Files.Config.0.Settings.1
++Settings.0.2=Root.Source Files.Config.0.Settings.2
++Settings.0.3=Root.Source Files.Config.0.Settings.3
++
++[Root.Source Files.Config.1]
++Settings.1.0=Root.Source Files.Config.1.Settings.0
++Settings.1.1=Root.Source Files.Config.1.Settings.1
++Settings.1.2=Root.Source Files.Config.1.Settings.2
++Settings.1.3=Root.Source Files.Config.1.Settings.3
++
++[Root.Source Files.Config.0.Settings.0]
++String.6.0=2011,2,18,16,57,8
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8AF52Ax -dUSE_STM8_128_EVAL -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc -i..\..\..\..\utilities\stm8s_eval\common -i..\..\..\..\utilities\stm8s_eval\stm8-128_eval -i..\..\..\..\utilities\stm8s_eval $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.Source Files.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,18,16,57,8
++
++[Root.Source Files.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,2,18,16,57,8
++
++[Root.Source Files.Config.1.Settings.0]
++String.6.0=2011,2,18,16,57,8
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,18,16,57,8
++
++[Root.Source Files.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,18,16,57,8
++
++[Root.Source Files.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,2,18,16,57,8
++
++[Root.Source Files...\..\blink.c]
++ElemType=File
++PathName=..\..\blink.c
++Next=Root.Source Files...\..\main.c
++
++[Root.Source Files...\..\main.c]
++ElemType=File
++PathName=..\..\main.c
++Next=Root.Source Files...\..\stm8s_it.c
++
++[Root.Source Files...\..\stm8s_it.c]
++ElemType=File
++PathName=..\..\stm8s_it.c
++Next=Root.Source Files.stm8_interrupt_vector.c
++
++[Root.Source Files.stm8_interrupt_vector.c]
++ElemType=File
++PathName=stm8_interrupt_vector.c
++
++[Root.StdPeriph_Drivers]
++ElemType=Folder
++PathName=StdPeriph_Drivers
++Child=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc2.c
++Config.0=Root.StdPeriph_Drivers.Config.0
++Config.1=Root.StdPeriph_Drivers.Config.1
++
++[Root.StdPeriph_Drivers.Config.0]
++Settings.0.0=Root.StdPeriph_Drivers.Config.0.Settings.0
++Settings.0.1=Root.StdPeriph_Drivers.Config.0.Settings.1
++Settings.0.2=Root.StdPeriph_Drivers.Config.0.Settings.2
++Settings.0.3=Root.StdPeriph_Drivers.Config.0.Settings.3
++
++[Root.StdPeriph_Drivers.Config.1]
++Settings.1.0=Root.StdPeriph_Drivers.Config.1.Settings.0
++Settings.1.1=Root.StdPeriph_Drivers.Config.1.Settings.1
++Settings.1.2=Root.StdPeriph_Drivers.Config.1.Settings.2
++Settings.1.3=Root.StdPeriph_Drivers.Config.1.Settings.3
++
++[Root.StdPeriph_Drivers.Config.0.Settings.0]
++String.6.0=2011,2,22,8,49,45
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Drivers.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8AF52Ax -dUSE_STM8_128_EVAL -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc -i..\..\..\..\utilities\stm8s_eval\common -i..\..\..\..\utilities\stm8s_eval\stm8-128_eval -i..\..\..\..\utilities\stm8s_eval $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.StdPeriph_Drivers.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,18,16,57,8
++
++[Root.StdPeriph_Drivers.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,2,18,16,57,8
++
++[Root.StdPeriph_Drivers.Config.1.Settings.0]
++String.6.0=2011,2,22,8,49,45
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Drivers.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,18,16,57,8
++
++[Root.StdPeriph_Drivers.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,18,16,57,8
++
++[Root.StdPeriph_Drivers.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,2,18,16,57,8
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc2.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc2.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_can.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_can.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_can.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart3.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart3.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart3.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af622x.dep STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af622x.dep
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af622x.dep 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af622x.dep 2015-02-23 17:52:32.000000000 +0100
+@@ -0,0 +1,5 @@
++; STMicroelectronics dependencies file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af622x.stp STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af622x.stp
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af622x.stp 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af622x.stp 2015-02-19 11:21:36.000000000 +0100
+@@ -0,0 +1,460 @@
++; STMicroelectronics Project file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
++
++[Project]
++Name=stm8af622x
++Toolset=STM8 Cosmic
++
++[Config]
++0=Config.0
++1=Config.1
++
++[Config.0]
++ConfigName=Debug
++Target=stm8af622x.elf
++OutputFolder=Debug
++Debug=$(TargetFName)
++
++[Config.1]
++ConfigName=Release
++Target=stm8af622x.elf
++OutputFolder=Release
++Debug=$(TargetFName)
++
++[Root]
++ElemType=Project
++PathName=stm8af622x
++Child=Root.Source Files
++Config.0=Root.Config.0
++Config.1=Root.Config.1
++
++[Root.Config.0]
++Settings.0.0=Root.Config.0.Settings.0
++Settings.0.1=Root.Config.0.Settings.1
++Settings.0.2=Root.Config.0.Settings.2
++Settings.0.3=Root.Config.0.Settings.3
++Settings.0.4=Root.Config.0.Settings.4
++Settings.0.5=Root.Config.0.Settings.5
++Settings.0.6=Root.Config.0.Settings.6
++Settings.0.7=Root.Config.0.Settings.7
++Settings.0.8=Root.Config.0.Settings.8
++
++[Root.Config.1]
++Settings.1.0=Root.Config.1.Settings.0
++Settings.1.1=Root.Config.1.Settings.1
++Settings.1.2=Root.Config.1.Settings.2
++Settings.1.3=Root.Config.1.Settings.3
++Settings.1.4=Root.Config.1.Settings.4
++Settings.1.5=Root.Config.1.Settings.5
++Settings.1.6=Root.Config.1.Settings.6
++Settings.1.7=Root.Config.1.Settings.7
++Settings.1.8=Root.Config.1.Settings.8
++
++[Root.Config.0.Settings.0]
++String.6.0=2014,9,29,16,27,5
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM8 Cosmic
++String.100.3=ST7 Metrowerks V1.1
++String.100.4=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Debug
++String.107.0=stm8af622x.elf
++Int.108=0
++
++[Root.Config.0.Settings.1]
++String.6.0=2014,9,29,16,27,5
++String.100.0=$(TargetFName)
++String.101.0=
++String.102.0=
++String.103.0=.\;..\..;..\..\..\..\libraries\stm8s_stdperiph_driver\src;
++
++[Root.Config.0.Settings.2]
++String.2.0=
++String.6.0=2014,9,29,16,27,5
++String.100.0=STM8AF6226
++
++[Root.Config.0.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customDebCompat -customOpt-no -customC-pp -customLst -l -dSTM8AF622x -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2014,9,29,16,36,13
++
++[Root.Config.0.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2014,9,29,16,27,5
++
++[Root.Config.0.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2014,9,29,16,27,5
++String.8.0=
++
++[Root.Config.0.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk -customMapFile -customMapFile-m $(OutputPath)$(TargetSName).map -fakeRunConv -fakeInteger -fakeSemiAutoGen $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeOutFile$(ProjectSFile).elf -customCfgFile $(OutputPath)$(TargetSName).lkf -fakeVectFilestm8_interrupt_vector.c -fakeStartupcrtsi0.sm8
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8 -fakeVectAddr0x8000
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=
++String.6.0=2014,9,29,16,36,13
++String.100.0=
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0x1f80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x280 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0xff -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0x9fff]=.const,.text
++String.103.1=Eeprom[0x4000-0x427f]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x1fe]=.data,.bss
++String.104.0=0x3ff
++Int.0=0
++Int.1=0
++
++[Root.Config.0.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2014,9,29,16,27,5
++
++[Root.Config.0.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2014,9,29,16,27,5
++
++[Root.Config.1.Settings.0]
++String.6.0=2014,9,29,16,27,5
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM8 Cosmic
++String.100.3=ST7 Metrowerks V1.1
++String.100.4=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Release
++String.107.0=stm8af622x.elf
++Int.108=0
++
++[Root.Config.1.Settings.1]
++String.6.0=2014,9,29,16,27,5
++String.100.0=$(TargetFName)
++String.101.0=
++String.103.0=.\;..\..;..\..\..\..\libraries\stm8s_stdperiph_driver\src;
++
++[Root.Config.1.Settings.2]
++String.2.0=
++String.6.0=2014,9,29,16,27,5
++String.100.0=STM8AF6226
++
++[Root.Config.1.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2014,9,29,16,27,5
++
++[Root.Config.1.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2014,9,29,16,27,5
++
++[Root.Config.1.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2014,9,29,16,27,5
++
++[Root.Config.1.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk -fakeRunConv -fakeInteger -fakeSemiAutoGen $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeOutFile$(ProjectSFile).elf -customCfgFile $(OutputPath)$(TargetSName).lkf -fakeVectFilestm8_interrupt_vector.c -fakeStartupcrtsi0.sm8
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8 -fakeVectAddr0x8000
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=$(OutputPath)$(TargetSName).map $(OutputPath)$(TargetSName).st7 $(OutputPath)$(TargetSName).s19
++String.6.0=2014,9,29,16,27,5
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0x1f80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x280 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0xff -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0x9fff]=.const,.text
++String.103.1=Eeprom[0x4000-0x427f]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x1fe]=.data,.bss
++String.104.0=0x3ff
++Int.0=0
++Int.1=0
++
++[Root.Config.1.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2014,9,29,16,27,5
++
++[Root.Config.1.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2014,9,29,16,27,5
++
++[Root.Source Files]
++ElemType=Folder
++PathName=Source Files
++Child=Root.Source Files...\..\main.c
++Next=Root.StdPeriph_Drivers
++Config.0=Root.Source Files.Config.0
++Config.1=Root.Source Files.Config.1
++
++[Root.Source Files.Config.0]
++Settings.0.0=Root.Source Files.Config.0.Settings.0
++Settings.0.1=Root.Source Files.Config.0.Settings.1
++Settings.0.2=Root.Source Files.Config.0.Settings.2
++Settings.0.3=Root.Source Files.Config.0.Settings.3
++
++[Root.Source Files.Config.1]
++Settings.1.0=Root.Source Files.Config.1.Settings.0
++Settings.1.1=Root.Source Files.Config.1.Settings.1
++Settings.1.2=Root.Source Files.Config.1.Settings.2
++Settings.1.3=Root.Source Files.Config.1.Settings.3
++
++[Root.Source Files.Config.0.Settings.0]
++String.6.0=2014,9,29,16,27,5
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customDebCompat -customOpt-no -customC-pp -customLst -l -dSTM8AF622x -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2014,9,29,16,36,13
++
++[Root.Source Files.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2014,9,29,16,27,5
++
++[Root.Source Files.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2014,9,29,16,27,5
++
++[Root.Source Files.Config.1.Settings.0]
++String.6.0=2014,9,29,16,27,5
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2014,9,29,16,27,5
++
++[Root.Source Files.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2014,9,29,16,27,5
++
++[Root.Source Files.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2014,9,29,16,27,5
++
++[Root.Source Files...\..\main.c]
++ElemType=File
++PathName=..\..\main.c
++Next=Root.Source Files...\..\stm8s_it.c
++
++[Root.Source Files...\..\stm8s_it.c]
++ElemType=File
++PathName=..\..\stm8s_it.c
++Next=Root.Source Files.stm8_interrupt_vector.c
++
++[Root.Source Files.stm8_interrupt_vector.c]
++ElemType=File
++PathName=stm8_interrupt_vector.c
++
++[Root.StdPeriph_Drivers]
++ElemType=Folder
++PathName=StdPeriph_Drivers
++Child=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc1.c
++Config.0=Root.StdPeriph_Drivers.Config.0
++Config.1=Root.StdPeriph_Drivers.Config.1
++
++[Root.StdPeriph_Drivers.Config.0]
++Settings.0.0=Root.StdPeriph_Drivers.Config.0.Settings.0
++Settings.0.1=Root.StdPeriph_Drivers.Config.0.Settings.1
++Settings.0.2=Root.StdPeriph_Drivers.Config.0.Settings.2
++Settings.0.3=Root.StdPeriph_Drivers.Config.0.Settings.3
++
++[Root.StdPeriph_Drivers.Config.1]
++Settings.1.0=Root.StdPeriph_Drivers.Config.1.Settings.0
++Settings.1.1=Root.StdPeriph_Drivers.Config.1.Settings.1
++Settings.1.2=Root.StdPeriph_Drivers.Config.1.Settings.2
++Settings.1.3=Root.StdPeriph_Drivers.Config.1.Settings.3
++
++[Root.StdPeriph_Drivers.Config.0.Settings.0]
++String.6.0=2014,9,29,16,29,9
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Drivers.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customDebCompat -customOpt-no -customC-pp -customLst -l -dSTM8AF622x -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2014,9,29,16,36,13
++
++[Root.StdPeriph_Drivers.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2014,9,29,16,27,5
++
++[Root.StdPeriph_Drivers.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2014,9,29,16,27,5
++
++[Root.StdPeriph_Drivers.Config.1.Settings.0]
++String.6.0=2014,9,29,16,29,9
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Drivers.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2014,9,29,16,27,5
++
++[Root.StdPeriph_Drivers.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2014,9,29,16,27,5
++
++[Root.StdPeriph_Drivers.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2014,9,29,16,27,5
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim5.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim5.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim5.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim6.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim6.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim6.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart4.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart4.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart4.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af626x.dep STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af626x.dep
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af626x.dep 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af626x.dep 2015-02-23 17:52:32.000000000 +0100
+@@ -0,0 +1,5 @@
++; STMicroelectronics dependencies file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af626x.stp STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af626x.stp
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af626x.stp 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af626x.stp 2015-02-19 11:21:34.000000000 +0100
+@@ -0,0 +1,466 @@
++; STMicroelectronics Project file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
++
++[Project]
++Name=stm8af626x
++Toolset=STM8 Cosmic
++
++[Config]
++0=Config.0
++1=Config.1
++
++[Config.0]
++ConfigName=Debug
++Target=stm8af626x.elf
++OutputFolder=Debug
++Debug=$(TargetFName)
++
++[Config.1]
++ConfigName=Release
++Target=stm8af626x.elf
++OutputFolder=Release
++Debug=$(TargetFName)
++
++[Root]
++ElemType=Project
++PathName=stm8af626x
++Child=Root.Source Files
++Config.0=Root.Config.0
++Config.1=Root.Config.1
++
++[Root.Config.0]
++Settings.0.0=Root.Config.0.Settings.0
++Settings.0.1=Root.Config.0.Settings.1
++Settings.0.2=Root.Config.0.Settings.2
++Settings.0.3=Root.Config.0.Settings.3
++Settings.0.4=Root.Config.0.Settings.4
++Settings.0.5=Root.Config.0.Settings.5
++Settings.0.6=Root.Config.0.Settings.6
++Settings.0.7=Root.Config.0.Settings.7
++Settings.0.8=Root.Config.0.Settings.8
++
++[Root.Config.1]
++Settings.1.0=Root.Config.1.Settings.0
++Settings.1.1=Root.Config.1.Settings.1
++Settings.1.2=Root.Config.1.Settings.2
++Settings.1.3=Root.Config.1.Settings.3
++Settings.1.4=Root.Config.1.Settings.4
++Settings.1.5=Root.Config.1.Settings.5
++Settings.1.6=Root.Config.1.Settings.6
++Settings.1.7=Root.Config.1.Settings.7
++Settings.1.8=Root.Config.1.Settings.8
++
++[Root.Config.0.Settings.0]
++String.6.0=2011,2,22,9,0,8
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM7 Cosmic
++String.100.3=STM8 Cosmic
++String.100.4=ST7 Metrowerks V1.1
++String.100.5=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Debug
++String.107.0=stm8af626x.elf
++Int.108=0
++
++[Root.Config.0.Settings.1]
++String.6.0=2011,2,22,9,0,8
++String.100.0=$(TargetFName)
++String.101.0=
++String.103.0=.\;..\..;..\..\..\..\libraries\stm8s_stdperiph_driver\src;
++
++[Root.Config.0.Settings.2]
++String.2.0=
++String.6.0=2011,2,22,9,0,8
++String.100.0=STM8AF6269
++
++[Root.Config.0.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8AF626x -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,36
++
++[Root.Config.0.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,22,9,0,8
++
++[Root.Config.0.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2011,2,22,9,0,8
++String.8.0=
++
++[Root.Config.0.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk -customMapFile -customMapFile-m $(OutputPath)$(TargetSName).map -fakeRunConv -fakeInteger -fakeSemiAutoGen $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeOutFile$(ProjectSFile).elf -customCfgFile $(OutputPath)$(TargetSName).lkf -fakeVectFilestm8_interrupt_vector.c -fakeStartupcrtsi0.sm8
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8 -fakeVectAddr0x8000
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=
++String.6.0=2011,2,22,9,3,59
++String.100.0=
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0x7f80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x400 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0x500 -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0xffff]=.const,.text
++String.103.1=Eeprom[0x4000-0x43ff]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x5ff]=.data,.bss
++String.104.0=0x7ff
++Int.0=0
++Int.1=0
++
++[Root.Config.0.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2011,2,22,9,0,8
++
++[Root.Config.0.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2011,2,22,9,0,8
++
++[Root.Config.1.Settings.0]
++String.6.0=2011,2,22,9,0,8
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM7 Cosmic
++String.100.3=STM8 Cosmic
++String.100.4=ST7 Metrowerks V1.1
++String.100.5=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Release
++String.107.0=stm8af626x.elf
++Int.108=0
++
++[Root.Config.1.Settings.1]
++String.6.0=2011,2,22,9,0,8
++String.100.0=$(TargetFName)
++String.101.0=
++String.103.0=.\;..\..;..\..\..\..\libraries\stm8s_stdperiph_driver\src;
++
++[Root.Config.1.Settings.2]
++String.2.0=
++String.6.0=2011,2,22,9,0,8
++String.100.0=STM8AF6269
++
++[Root.Config.1.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,22,9,0,8
++
++[Root.Config.1.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,22,9,0,8
++
++[Root.Config.1.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2011,2,22,9,0,8
++
++[Root.Config.1.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk -fakeRunConv -fakeInteger -fakeSemiAutoGen $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeOutFile$(ProjectSFile).elf -customCfgFile $(OutputPath)$(TargetSName).lkf -fakeVectFilestm8_interrupt_vector.c -fakeStartupcrtsi0.sm8
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8 -fakeVectAddr0x8000
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=$(OutputPath)$(TargetSName).map $(OutputPath)$(TargetSName).st7 $(OutputPath)$(TargetSName).s19
++String.6.0=2011,2,22,9,0,8
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0x7f80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x400 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0x500 -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0xffff]=.const,.text
++String.103.1=Eeprom[0x4000-0x43ff]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x5ff]=.data,.bss
++String.104.0=0x7ff
++Int.0=0
++Int.1=0
++
++[Root.Config.1.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2011,2,22,9,0,8
++
++[Root.Config.1.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2011,2,22,9,0,8
++
++[Root.Source Files]
++ElemType=Folder
++PathName=Source Files
++Child=Root.Source Files...\..\main.c
++Next=Root.StdPeriph_Drivers
++Config.0=Root.Source Files.Config.0
++Config.1=Root.Source Files.Config.1
++
++[Root.Source Files.Config.0]
++Settings.0.0=Root.Source Files.Config.0.Settings.0
++Settings.0.1=Root.Source Files.Config.0.Settings.1
++Settings.0.2=Root.Source Files.Config.0.Settings.2
++Settings.0.3=Root.Source Files.Config.0.Settings.3
++
++[Root.Source Files.Config.1]
++Settings.1.0=Root.Source Files.Config.1.Settings.0
++Settings.1.1=Root.Source Files.Config.1.Settings.1
++Settings.1.2=Root.Source Files.Config.1.Settings.2
++Settings.1.3=Root.Source Files.Config.1.Settings.3
++
++[Root.Source Files.Config.0.Settings.0]
++String.6.0=2011,2,22,9,0,8
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8AF626x -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,36
++
++[Root.Source Files.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,22,9,0,8
++
++[Root.Source Files.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,2,22,9,0,8
++
++[Root.Source Files.Config.1.Settings.0]
++String.6.0=2011,2,22,9,0,8
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,22,9,0,8
++
++[Root.Source Files.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,22,9,0,8
++
++[Root.Source Files.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,2,22,9,0,8
++
++[Root.Source Files...\..\main.c]
++ElemType=File
++PathName=..\..\main.c
++Next=Root.Source Files...\..\stm8s_it.c
++
++[Root.Source Files...\..\stm8s_it.c]
++ElemType=File
++PathName=..\..\stm8s_it.c
++Next=Root.Source Files.stm8_interrupt_vector.c
++
++[Root.Source Files.stm8_interrupt_vector.c]
++ElemType=File
++PathName=stm8_interrupt_vector.c
++
++[Root.StdPeriph_Drivers]
++ElemType=Folder
++PathName=StdPeriph_Drivers
++Child=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc1.c
++Config.0=Root.StdPeriph_Drivers.Config.0
++Config.1=Root.StdPeriph_Drivers.Config.1
++
++[Root.StdPeriph_Drivers.Config.0]
++Settings.0.0=Root.StdPeriph_Drivers.Config.0.Settings.0
++Settings.0.1=Root.StdPeriph_Drivers.Config.0.Settings.1
++Settings.0.2=Root.StdPeriph_Drivers.Config.0.Settings.2
++Settings.0.3=Root.StdPeriph_Drivers.Config.0.Settings.3
++
++[Root.StdPeriph_Drivers.Config.1]
++Settings.1.0=Root.StdPeriph_Drivers.Config.1.Settings.0
++Settings.1.1=Root.StdPeriph_Drivers.Config.1.Settings.1
++Settings.1.2=Root.StdPeriph_Drivers.Config.1.Settings.2
++Settings.1.3=Root.StdPeriph_Drivers.Config.1.Settings.3
++
++[Root.StdPeriph_Drivers.Config.0.Settings.0]
++String.6.0=2011,2,22,9,1,14
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Drivers.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8AF626x -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,36
++
++[Root.StdPeriph_Drivers.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,22,9,0,8
++
++[Root.StdPeriph_Drivers.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,2,22,9,0,8
++
++[Root.StdPeriph_Drivers.Config.1.Settings.0]
++String.6.0=2011,2,22,9,1,14
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Drivers.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,22,9,0,8
++
++[Root.StdPeriph_Drivers.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,22,9,0,8
++
++[Root.StdPeriph_Drivers.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,2,22,9,0,8
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart2.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart2.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart2.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af62ax.dep STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af62ax.dep
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af62ax.dep 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af62ax.dep 2015-02-23 17:52:32.000000000 +0100
+@@ -0,0 +1,5 @@
++; STMicroelectronics dependencies file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af62ax.stp STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af62ax.stp
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af62ax.stp 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8af62ax.stp 2015-02-19 11:21:34.000000000 +0100
+@@ -0,0 +1,549 @@
++; STMicroelectronics Project file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
++
++[Project]
++Name=stm8af62ax
++Toolset=STM8 Cosmic
++
++[Config]
++0=Config.0
++1=Config.1
++
++[Config.0]
++ConfigName=Debug
++Target=stm8af62ax.elf
++OutputFolder=Debug
++Debug=$(TargetFName)
++
++[Config.1]
++ConfigName=Release
++Target=stm8af62ax.elf
++OutputFolder=Release
++Debug=$(TargetFName)
++
++[Root]
++ElemType=Project
++PathName=stm8af62ax
++Child=Root.STM8S_EVAL
++Config.0=Root.Config.0
++Config.1=Root.Config.1
++
++[Root.Config.0]
++Settings.0.0=Root.Config.0.Settings.0
++Settings.0.1=Root.Config.0.Settings.1
++Settings.0.2=Root.Config.0.Settings.2
++Settings.0.3=Root.Config.0.Settings.3
++Settings.0.4=Root.Config.0.Settings.4
++Settings.0.5=Root.Config.0.Settings.5
++Settings.0.6=Root.Config.0.Settings.6
++Settings.0.7=Root.Config.0.Settings.7
++Settings.0.8=Root.Config.0.Settings.8
++
++[Root.Config.1]
++Settings.1.0=Root.Config.1.Settings.0
++Settings.1.1=Root.Config.1.Settings.1
++Settings.1.2=Root.Config.1.Settings.2
++Settings.1.3=Root.Config.1.Settings.3
++Settings.1.4=Root.Config.1.Settings.4
++Settings.1.5=Root.Config.1.Settings.5
++Settings.1.6=Root.Config.1.Settings.6
++Settings.1.7=Root.Config.1.Settings.7
++Settings.1.8=Root.Config.1.Settings.8
++
++[Root.Config.0.Settings.0]
++String.6.0=2011,2,22,8,54,56
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM7 Cosmic
++String.100.3=STM8 Cosmic
++String.100.4=ST7 Metrowerks V1.1
++String.100.5=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Debug
++String.107.0=stm8af62ax.elf
++Int.108=0
++
++[Root.Config.0.Settings.1]
++String.6.0=2011,2,22,8,54,56
++String.100.0=$(TargetFName)
++String.101.0=
++String.102.0=
++String.103.0=.\;..\..\..\..\utilities\stm8s_eval;..\..;..\..\..\..\libraries\stm8s_stdperiph_driver\src;
++
++[Root.Config.0.Settings.2]
++String.2.0=
++String.6.0=2011,2,22,8,54,56
++String.100.0=STM8AF62AA
++
++[Root.Config.0.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8AF62Ax -dUSE_STM8_128_EVAL -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc -i..\..\..\..\utilities\stm8s_eval -i..\..\..\..\utilities\stm8s_eval\common -i..\..\..\..\utilities\stm8s_eval\stm8-128_eval $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.Config.0.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,22,8,54,56
++
++[Root.Config.0.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2011,2,22,8,54,56
++
++[Root.Config.0.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk -customMapFile -customMapFile-m $(OutputPath)$(TargetSName).map -fakeRunConv -fakeInteger -fakeSemiAutoGen $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeOutFile$(ProjectSFile).elf -customCfgFile $(OutputPath)$(TargetSName).lkf -fakeVectFilestm8_interrupt_vector.c -fakeStartupcrtsi0.sm8
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8 -fakeVectAddr0x8000
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=
++String.6.0=2011,2,22,8,58,15
++String.100.0=
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0x1ff80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x800 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0x1300 -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0x27fff]=.const,.text
++String.103.1=Eeprom[0x4000-0x47ff]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x13ff]=.data,.bss
++String.104.0=0x17ff
++Int.0=0
++Int.1=0
++
++[Root.Config.0.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2011,2,22,8,54,56
++
++[Root.Config.0.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2011,2,22,8,54,56
++
++[Root.Config.1.Settings.0]
++String.6.0=2011,2,22,8,54,56
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM7 Cosmic
++String.100.3=STM8 Cosmic
++String.100.4=ST7 Metrowerks V1.1
++String.100.5=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Release
++String.107.0=stm8af62ax.elf
++Int.108=0
++
++[Root.Config.1.Settings.1]
++String.6.0=2011,2,22,8,54,56
++String.100.0=$(TargetFName)
++String.101.0=
++String.103.0=.\;..\..\..\..\utilities\stm8s_eval;..\..;..\..\..\..\libraries\stm8s_stdperiph_driver\src;
++
++[Root.Config.1.Settings.2]
++String.2.0=
++String.6.0=2011,2,22,8,54,56
++String.100.0=STM8AF62AA
++
++[Root.Config.1.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,22,8,54,56
++
++[Root.Config.1.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,22,8,54,56
++
++[Root.Config.1.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2011,2,22,8,54,56
++
++[Root.Config.1.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk -fakeRunConv -fakeInteger -fakeSemiAutoGen $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeOutFile$(ProjectSFile).elf -customCfgFile $(OutputPath)$(TargetSName).lkf -fakeVectFilestm8_interrupt_vector.c -fakeStartupcrtsi0.sm8
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8 -fakeVectAddr0x8000
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=$(OutputPath)$(TargetSName).map $(OutputPath)$(TargetSName).st7 $(OutputPath)$(TargetSName).s19
++String.6.0=2011,2,22,8,54,56
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0x1ff80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x800 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0x1300 -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0x27fff]=.const,.text
++String.103.1=Eeprom[0x4000-0x47ff]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x13ff]=.data,.bss
++String.104.0=0x17ff
++Int.0=0
++Int.1=0
++
++[Root.Config.1.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2011,2,22,8,54,56
++
++[Root.Config.1.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2011,2,22,8,54,56
++
++[Root.STM8S_EVAL]
++ElemType=Folder
++PathName=STM8S_EVAL
++Child=Root.STM8S_EVAL...\..\..\..\utilities\stm8s_eval\stm8s_eval.c
++Next=Root.Source Files
++Config.0=Root.STM8S_EVAL.Config.0
++Config.1=Root.STM8S_EVAL.Config.1
++
++[Root.STM8S_EVAL.Config.0]
++Settings.0.0=Root.STM8S_EVAL.Config.0.Settings.0
++Settings.0.1=Root.STM8S_EVAL.Config.0.Settings.1
++Settings.0.2=Root.STM8S_EVAL.Config.0.Settings.2
++Settings.0.3=Root.STM8S_EVAL.Config.0.Settings.3
++
++[Root.STM8S_EVAL.Config.1]
++Settings.1.0=Root.STM8S_EVAL.Config.1.Settings.0
++Settings.1.1=Root.STM8S_EVAL.Config.1.Settings.1
++Settings.1.2=Root.STM8S_EVAL.Config.1.Settings.2
++Settings.1.3=Root.STM8S_EVAL.Config.1.Settings.3
++
++[Root.STM8S_EVAL.Config.0.Settings.0]
++String.6.0=2011,2,22,8,55,18
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.STM8S_EVAL.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8AF62Ax -dUSE_STM8_128_EVAL -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc -i..\..\..\..\utilities\stm8s_eval -i..\..\..\..\utilities\stm8s_eval\common -i..\..\..\..\utilities\stm8s_eval\stm8-128_eval $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.STM8S_EVAL.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,22,8,54,56
++
++[Root.STM8S_EVAL.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,2,22,8,54,56
++
++[Root.STM8S_EVAL.Config.1.Settings.0]
++String.6.0=2011,2,22,8,55,18
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.STM8S_EVAL.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,22,8,54,56
++
++[Root.STM8S_EVAL.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,22,8,54,56
++
++[Root.STM8S_EVAL.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,2,22,8,54,56
++
++[Root.STM8S_EVAL...\..\..\..\utilities\stm8s_eval\stm8s_eval.c]
++ElemType=File
++PathName=..\..\..\..\utilities\stm8s_eval\stm8s_eval.c
++
++[Root.Source Files]
++ElemType=Folder
++PathName=Source Files
++Child=Root.Source Files...\..\main.c
++Next=Root.StdPeriph_Drivers
++Config.0=Root.Source Files.Config.0
++Config.1=Root.Source Files.Config.1
++
++[Root.Source Files.Config.0]
++Settings.0.0=Root.Source Files.Config.0.Settings.0
++Settings.0.1=Root.Source Files.Config.0.Settings.1
++Settings.0.2=Root.Source Files.Config.0.Settings.2
++Settings.0.3=Root.Source Files.Config.0.Settings.3
++
++[Root.Source Files.Config.1]
++Settings.1.0=Root.Source Files.Config.1.Settings.0
++Settings.1.1=Root.Source Files.Config.1.Settings.1
++Settings.1.2=Root.Source Files.Config.1.Settings.2
++Settings.1.3=Root.Source Files.Config.1.Settings.3
++
++[Root.Source Files.Config.0.Settings.0]
++String.6.0=2011,2,22,8,54,56
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8AF62Ax -dUSE_STM8_128_EVAL -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc -i..\..\..\..\utilities\stm8s_eval -i..\..\..\..\utilities\stm8s_eval\common -i..\..\..\..\utilities\stm8s_eval\stm8-128_eval $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.Source Files.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,22,8,54,56
++
++[Root.Source Files.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,2,22,8,54,56
++
++[Root.Source Files.Config.1.Settings.0]
++String.6.0=2011,2,22,8,54,56
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,22,8,54,56
++
++[Root.Source Files.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,22,8,54,56
++
++[Root.Source Files.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,2,22,8,54,56
++
++[Root.Source Files...\..\main.c]
++ElemType=File
++PathName=..\..\main.c
++Next=Root.Source Files...\..\stm8s_it.c
++
++[Root.Source Files...\..\stm8s_it.c]
++ElemType=File
++PathName=..\..\stm8s_it.c
++Next=Root.Source Files.stm8_interrupt_vector.c
++
++[Root.Source Files.stm8_interrupt_vector.c]
++ElemType=File
++PathName=stm8_interrupt_vector.c
++
++[Root.StdPeriph_Drivers]
++ElemType=Folder
++PathName=StdPeriph_Drivers
++Child=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc2.c
++Config.0=Root.StdPeriph_Drivers.Config.0
++Config.1=Root.StdPeriph_Drivers.Config.1
++
++[Root.StdPeriph_Drivers.Config.0]
++Settings.0.0=Root.StdPeriph_Drivers.Config.0.Settings.0
++Settings.0.1=Root.StdPeriph_Drivers.Config.0.Settings.1
++Settings.0.2=Root.StdPeriph_Drivers.Config.0.Settings.2
++Settings.0.3=Root.StdPeriph_Drivers.Config.0.Settings.3
++
++[Root.StdPeriph_Drivers.Config.1]
++Settings.1.0=Root.StdPeriph_Drivers.Config.1.Settings.0
++Settings.1.1=Root.StdPeriph_Drivers.Config.1.Settings.1
++Settings.1.2=Root.StdPeriph_Drivers.Config.1.Settings.2
++Settings.1.3=Root.StdPeriph_Drivers.Config.1.Settings.3
++
++[Root.StdPeriph_Drivers.Config.0.Settings.0]
++String.6.0=2011,2,22,8,55,35
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Drivers.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8AF62Ax -dUSE_STM8_128_EVAL -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc -i..\..\..\..\utilities\stm8s_eval -i..\..\..\..\utilities\stm8s_eval\common -i..\..\..\..\utilities\stm8s_eval\stm8-128_eval $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.StdPeriph_Drivers.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,22,8,54,56
++
++[Root.StdPeriph_Drivers.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,2,22,8,54,56
++
++[Root.StdPeriph_Drivers.Config.1.Settings.0]
++String.6.0=2011,2,22,8,55,35
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Drivers.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,22,8,54,56
++
++[Root.StdPeriph_Drivers.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,2,22,8,54,56
++
++[Root.StdPeriph_Drivers.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,2,22,8,54,56
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc2.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc2.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart3.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart3.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart3.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s003.dep STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s003.dep
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s003.dep 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s003.dep 2015-02-23 17:52:32.000000000 +0100
+@@ -0,0 +1,5 @@
++; STMicroelectronics dependencies file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s003.stp STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s003.stp
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s003.stp 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s003.stp 2015-02-19 11:21:36.000000000 +0100
+@@ -0,0 +1,461 @@
++; STMicroelectronics Project file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
++
++[Project]
++Name=stm8s003
++Toolset=STM8 Cosmic
++
++[Config]
++0=Config.0
++1=Config.1
++
++[Config.0]
++ConfigName=Debug
++Target=stm8s003.elf
++OutputFolder=Debug
++Debug=$(TargetFName)
++
++[Config.1]
++ConfigName=Release
++Target=stm8s003.elf
++OutputFolder=Release
++Debug=$(TargetFName)
++
++[Root]
++ElemType=Project
++PathName=stm8s003
++Child=Root.Source Files
++Config.0=Root.Config.0
++Config.1=Root.Config.1
++
++[Root.Config.0]
++Settings.0.0=Root.Config.0.Settings.0
++Settings.0.1=Root.Config.0.Settings.1
++Settings.0.2=Root.Config.0.Settings.2
++Settings.0.3=Root.Config.0.Settings.3
++Settings.0.4=Root.Config.0.Settings.4
++Settings.0.5=Root.Config.0.Settings.5
++Settings.0.6=Root.Config.0.Settings.6
++Settings.0.7=Root.Config.0.Settings.7
++Settings.0.8=Root.Config.0.Settings.8
++
++[Root.Config.1]
++Settings.1.0=Root.Config.1.Settings.0
++Settings.1.1=Root.Config.1.Settings.1
++Settings.1.2=Root.Config.1.Settings.2
++Settings.1.3=Root.Config.1.Settings.3
++Settings.1.4=Root.Config.1.Settings.4
++Settings.1.5=Root.Config.1.Settings.5
++Settings.1.6=Root.Config.1.Settings.6
++Settings.1.7=Root.Config.1.Settings.7
++Settings.1.8=Root.Config.1.Settings.8
++
++[Root.Config.0.Settings.0]
++String.6.0=2011,11,16,18,37,0
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM7 Cosmic
++String.100.3=STM8 Cosmic
++String.100.4=ST7 Metrowerks V1.1
++String.100.5=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Debug
++String.107.0=stm8s003.elf
++Int.108=0
++
++[Root.Config.0.Settings.1]
++String.6.0=2011,11,16,18,37,0
++String.100.0=$(TargetFName)
++String.101.0=
++String.103.0=.\;..\..\..\..\libraries\stm8s_stdperiph_driver\src;..\..;
++
++[Root.Config.0.Settings.2]
++String.2.0=
++String.6.0=2011,11,16,18,37,0
++String.100.0=STM8S003K3
++
++[Root.Config.0.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S003 -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,41,20
++
++[Root.Config.0.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,37,0
++
++[Root.Config.0.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2011,11,16,18,37,0
++String.8.0=
++
++[Root.Config.0.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk -customMapFile -customMapFile-m $(OutputPath)$(TargetSName).map -fakeRunConv -fakeInteger -fakeSemiAutoGen $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeOutFile$(ProjectSFile).elf -customCfgFile $(OutputPath)$(TargetSName).lkf -fakeVectFilestm8_interrupt_vector.c -fakeStartupcrtsi0.sm8
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8 -fakeVectAddr0x8000
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=
++String.6.0=2011,11,16,18,41,20
++String.100.0=
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0x1f80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x80 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0x100 -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0x9fff]=.const,.text
++String.103.1=Eeprom[0x4000-0x407f]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x1ff]=.data,.bss
++String.104.0=0x3ff
++Int.0=0
++Int.1=0
++
++[Root.Config.0.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2011,11,16,18,37,0
++
++[Root.Config.0.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2011,11,16,18,37,0
++
++[Root.Config.1.Settings.0]
++String.6.0=2011,11,16,18,37,0
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM7 Cosmic
++String.100.3=STM8 Cosmic
++String.100.4=ST7 Metrowerks V1.1
++String.100.5=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Release
++String.107.0=stm8s003.elf
++Int.108=0
++
++[Root.Config.1.Settings.1]
++String.6.0=2011,11,16,18,37,0
++String.100.0=$(TargetFName)
++String.101.0=
++String.103.0=.\;..\..\..\..\libraries\stm8s_stdperiph_driver\src;..\..;
++
++[Root.Config.1.Settings.2]
++String.2.0=
++String.6.0=2011,11,16,18,37,0
++String.100.0=STM8S003K3
++
++[Root.Config.1.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,37,0
++
++[Root.Config.1.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,37,0
++
++[Root.Config.1.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2011,11,16,18,37,0
++
++[Root.Config.1.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk -fakeRunConv -fakeInteger -fakeSemiAutoGen $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeOutFile$(ProjectSFile).elf -customCfgFile $(OutputPath)$(TargetSName).lkf -fakeVectFilestm8_interrupt_vector.c -fakeStartupcrtsi0.sm8
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8 -fakeVectAddr0x8000
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=$(OutputPath)$(TargetSName).map $(OutputPath)$(TargetSName).st7 $(OutputPath)$(TargetSName).s19
++String.6.0=2011,11,16,18,37,0
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0x1f80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x80 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0x100 -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0x9fff]=.const,.text
++String.103.1=Eeprom[0x4000-0x407f]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x1ff]=.data,.bss
++String.104.0=0x3ff
++Int.0=0
++Int.1=0
++
++[Root.Config.1.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2011,11,16,18,37,0
++
++[Root.Config.1.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2011,11,16,18,37,0
++
++[Root.Source Files]
++ElemType=Folder
++PathName=Source Files
++Child=Root.Source Files...\..\main.c
++Next=Root.StdPeriph_Drivers
++Config.0=Root.Source Files.Config.0
++Config.1=Root.Source Files.Config.1
++
++[Root.Source Files.Config.0]
++Settings.0.0=Root.Source Files.Config.0.Settings.0
++Settings.0.1=Root.Source Files.Config.0.Settings.1
++Settings.0.2=Root.Source Files.Config.0.Settings.2
++Settings.0.3=Root.Source Files.Config.0.Settings.3
++
++[Root.Source Files.Config.1]
++Settings.1.0=Root.Source Files.Config.1.Settings.0
++Settings.1.1=Root.Source Files.Config.1.Settings.1
++Settings.1.2=Root.Source Files.Config.1.Settings.2
++Settings.1.3=Root.Source Files.Config.1.Settings.3
++
++[Root.Source Files.Config.0.Settings.0]
++String.6.0=2011,11,16,18,37,0
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S003 -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,41,20
++
++[Root.Source Files.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,37,0
++
++[Root.Source Files.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,11,16,18,37,0
++
++[Root.Source Files.Config.1.Settings.0]
++String.6.0=2011,11,16,18,37,0
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,37,0
++
++[Root.Source Files.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,37,0
++
++[Root.Source Files.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,11,16,18,37,0
++
++[Root.Source Files...\..\main.c]
++ElemType=File
++PathName=..\..\main.c
++Next=Root.Source Files...\..\stm8s_it.c
++
++[Root.Source Files...\..\stm8s_it.c]
++ElemType=File
++PathName=..\..\stm8s_it.c
++Next=Root.Source Files.stm8_interrupt_vector.c
++
++[Root.Source Files.stm8_interrupt_vector.c]
++ElemType=File
++PathName=stm8_interrupt_vector.c
++
++[Root.StdPeriph_Drivers]
++ElemType=Folder
++PathName=StdPeriph_Drivers
++Child=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc1.c
++Config.0=Root.StdPeriph_Drivers.Config.0
++Config.1=Root.StdPeriph_Drivers.Config.1
++
++[Root.StdPeriph_Drivers.Config.0]
++Settings.0.0=Root.StdPeriph_Drivers.Config.0.Settings.0
++Settings.0.1=Root.StdPeriph_Drivers.Config.0.Settings.1
++Settings.0.2=Root.StdPeriph_Drivers.Config.0.Settings.2
++Settings.0.3=Root.StdPeriph_Drivers.Config.0.Settings.3
++
++[Root.StdPeriph_Drivers.Config.1]
++Settings.1.0=Root.StdPeriph_Drivers.Config.1.Settings.0
++Settings.1.1=Root.StdPeriph_Drivers.Config.1.Settings.1
++Settings.1.2=Root.StdPeriph_Drivers.Config.1.Settings.2
++Settings.1.3=Root.StdPeriph_Drivers.Config.1.Settings.3
++
++[Root.StdPeriph_Drivers.Config.0.Settings.0]
++String.6.0=2011,11,16,18,37,50
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Drivers.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S003 -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,41,20
++
++[Root.StdPeriph_Drivers.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,37,0
++
++[Root.StdPeriph_Drivers.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,11,16,18,37,0
++
++[Root.StdPeriph_Drivers.Config.1.Settings.0]
++String.6.0=2011,11,16,18,37,50
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Drivers.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,37,0
++
++[Root.StdPeriph_Drivers.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,37,0
++
++[Root.StdPeriph_Drivers.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,11,16,18,37,0
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s005.dep STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s005.dep
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s005.dep 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s005.dep 2015-02-23 17:52:32.000000000 +0100
+@@ -0,0 +1,5 @@
++; STMicroelectronics dependencies file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s005.stp STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s005.stp
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s005.stp 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s005.stp 2015-02-19 11:21:36.000000000 +0100
+@@ -0,0 +1,465 @@
++; STMicroelectronics Project file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
++
++[Project]
++Name=stm8s005
++Toolset=STM8 Cosmic
++
++[Config]
++0=Config.0
++1=Config.1
++
++[Config.0]
++ConfigName=Debug
++Target=stm8s005.elf
++OutputFolder=Debug
++Debug=$(TargetFName)
++
++[Config.1]
++ConfigName=Release
++Target=stm8s005.elf
++OutputFolder=Release
++Debug=$(TargetFName)
++
++[Root]
++ElemType=Project
++PathName=stm8s005
++Child=Root.Source Files
++Config.0=Root.Config.0
++Config.1=Root.Config.1
++
++[Root.Config.0]
++Settings.0.0=Root.Config.0.Settings.0
++Settings.0.1=Root.Config.0.Settings.1
++Settings.0.2=Root.Config.0.Settings.2
++Settings.0.3=Root.Config.0.Settings.3
++Settings.0.4=Root.Config.0.Settings.4
++Settings.0.5=Root.Config.0.Settings.5
++Settings.0.6=Root.Config.0.Settings.6
++Settings.0.7=Root.Config.0.Settings.7
++Settings.0.8=Root.Config.0.Settings.8
++
++[Root.Config.1]
++Settings.1.0=Root.Config.1.Settings.0
++Settings.1.1=Root.Config.1.Settings.1
++Settings.1.2=Root.Config.1.Settings.2
++Settings.1.3=Root.Config.1.Settings.3
++Settings.1.4=Root.Config.1.Settings.4
++Settings.1.5=Root.Config.1.Settings.5
++Settings.1.6=Root.Config.1.Settings.6
++Settings.1.7=Root.Config.1.Settings.7
++Settings.1.8=Root.Config.1.Settings.8
++
++[Root.Config.0.Settings.0]
++String.6.0=2011,11,16,18,43,13
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM7 Cosmic
++String.100.3=STM8 Cosmic
++String.100.4=ST7 Metrowerks V1.1
++String.100.5=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Debug
++String.107.0=stm8s005.elf
++Int.108=0
++
++[Root.Config.0.Settings.1]
++String.6.0=2011,11,16,18,43,13
++String.100.0=$(TargetFName)
++String.101.0=
++String.103.0=.\;..\..;..\..\..\..\libraries\stm8s_stdperiph_driver\src;
++
++[Root.Config.0.Settings.2]
++String.2.0=
++String.6.0=2011,11,16,18,43,13
++String.100.0=STM8S005K6
++
++[Root.Config.0.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S005 -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,50,27
++
++[Root.Config.0.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,43,13
++
++[Root.Config.0.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2011,11,16,18,43,13
++
++[Root.Config.0.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk -customMapFile -customMapFile-m $(OutputPath)$(TargetSName).map -fakeRunConv -fakeInteger -fakeSemiAutoGen $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeOutFile$(ProjectSFile).elf -customCfgFile $(OutputPath)$(TargetSName).lkf -fakeVectFilestm8_interrupt_vector.c -fakeStartupcrtsi0.sm8
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8 -fakeVectAddr0x8000
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=
++String.6.0=2011,11,16,18,50,27
++String.100.0=
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0x7f80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x80 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0x500 -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0xffff]=.const,.text
++String.103.1=Eeprom[0x4000-0x407f]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x5ff]=.data,.bss
++String.104.0=0x7ff
++Int.0=0
++Int.1=0
++
++[Root.Config.0.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2011,11,16,18,43,13
++
++[Root.Config.0.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2011,11,16,18,43,13
++
++[Root.Config.1.Settings.0]
++String.6.0=2011,11,16,18,43,13
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM7 Cosmic
++String.100.3=STM8 Cosmic
++String.100.4=ST7 Metrowerks V1.1
++String.100.5=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Release
++String.107.0=stm8s005.elf
++Int.108=0
++
++[Root.Config.1.Settings.1]
++String.6.0=2011,11,16,18,43,13
++String.100.0=$(TargetFName)
++String.101.0=
++String.103.0=.\;..\..;..\..\..\..\libraries\stm8s_stdperiph_driver\src;
++
++[Root.Config.1.Settings.2]
++String.2.0=
++String.6.0=2011,11,16,18,43,13
++String.100.0=STM8S005K6
++
++[Root.Config.1.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,43,13
++
++[Root.Config.1.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,43,13
++
++[Root.Config.1.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2011,11,16,18,43,13
++
++[Root.Config.1.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk -fakeRunConv -fakeInteger -fakeSemiAutoGen $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeOutFile$(ProjectSFile).elf -customCfgFile $(OutputPath)$(TargetSName).lkf -fakeVectFilestm8_interrupt_vector.c -fakeStartupcrtsi0.sm8
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8 -fakeVectAddr0x8000
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=$(OutputPath)$(TargetSName).map $(OutputPath)$(TargetSName).st7 $(OutputPath)$(TargetSName).s19
++String.6.0=2011,11,16,18,43,13
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0x7f80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x80 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0x500 -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0xffff]=.const,.text
++String.103.1=Eeprom[0x4000-0x407f]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x5ff]=.data,.bss
++String.104.0=0x7ff
++Int.0=0
++Int.1=0
++
++[Root.Config.1.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2011,11,16,18,43,13
++
++[Root.Config.1.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2011,11,16,18,43,13
++
++[Root.Source Files]
++ElemType=Folder
++PathName=Source Files
++Child=Root.Source Files...\..\main.c
++Next=Root.StdPeriph_Driver
++Config.0=Root.Source Files.Config.0
++Config.1=Root.Source Files.Config.1
++
++[Root.Source Files.Config.0]
++Settings.0.0=Root.Source Files.Config.0.Settings.0
++Settings.0.1=Root.Source Files.Config.0.Settings.1
++Settings.0.2=Root.Source Files.Config.0.Settings.2
++Settings.0.3=Root.Source Files.Config.0.Settings.3
++
++[Root.Source Files.Config.1]
++Settings.1.0=Root.Source Files.Config.1.Settings.0
++Settings.1.1=Root.Source Files.Config.1.Settings.1
++Settings.1.2=Root.Source Files.Config.1.Settings.2
++Settings.1.3=Root.Source Files.Config.1.Settings.3
++
++[Root.Source Files.Config.0.Settings.0]
++String.6.0=2011,11,16,18,43,13
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S005 -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,50,27
++
++[Root.Source Files.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,43,13
++
++[Root.Source Files.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,11,16,18,43,13
++
++[Root.Source Files.Config.1.Settings.0]
++String.6.0=2011,11,16,18,43,13
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,43,13
++
++[Root.Source Files.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,43,13
++
++[Root.Source Files.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,11,16,18,43,13
++
++[Root.Source Files...\..\main.c]
++ElemType=File
++PathName=..\..\main.c
++Next=Root.Source Files...\..\stm8s_it.c
++
++[Root.Source Files...\..\stm8s_it.c]
++ElemType=File
++PathName=..\..\stm8s_it.c
++Next=Root.Source Files.stm8_interrupt_vector.c
++
++[Root.Source Files.stm8_interrupt_vector.c]
++ElemType=File
++PathName=stm8_interrupt_vector.c
++
++[Root.StdPeriph_Driver]
++ElemType=Folder
++PathName=StdPeriph_Driver
++Child=Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc1.c
++Config.0=Root.StdPeriph_Driver.Config.0
++Config.1=Root.StdPeriph_Driver.Config.1
++
++[Root.StdPeriph_Driver.Config.0]
++Settings.0.0=Root.StdPeriph_Driver.Config.0.Settings.0
++Settings.0.1=Root.StdPeriph_Driver.Config.0.Settings.1
++Settings.0.2=Root.StdPeriph_Driver.Config.0.Settings.2
++Settings.0.3=Root.StdPeriph_Driver.Config.0.Settings.3
++
++[Root.StdPeriph_Driver.Config.1]
++Settings.1.0=Root.StdPeriph_Driver.Config.1.Settings.0
++Settings.1.1=Root.StdPeriph_Driver.Config.1.Settings.1
++Settings.1.2=Root.StdPeriph_Driver.Config.1.Settings.2
++Settings.1.3=Root.StdPeriph_Driver.Config.1.Settings.3
++
++[Root.StdPeriph_Driver.Config.0.Settings.0]
++String.6.0=2011,11,16,18,48,20
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Driver.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S005 -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,50,27
++
++[Root.StdPeriph_Driver.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,43,13
++
++[Root.StdPeriph_Driver.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,11,16,18,43,13
++
++[Root.StdPeriph_Driver.Config.1.Settings.0]
++String.6.0=2011,11,16,18,48,20
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Driver.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,43,13
++
++[Root.StdPeriph_Driver.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,43,13
++
++[Root.StdPeriph_Driver.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,11,16,18,43,13
++
++[Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc1.c
++Next=Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++
++[Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++Next=Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++
++[Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++Next=Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++
++[Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++Next=Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++
++[Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++Next=Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++
++[Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++Next=Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++
++[Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++Next=Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++
++[Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++Next=Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++
++[Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++Next=Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++
++[Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++Next=Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++
++[Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++Next=Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++
++[Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++Next=Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++
++[Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++Next=Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c
++
++[Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c
++Next=Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c
++
++[Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c
++Next=Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c
++
++[Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c
++Next=Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart2.c
++
++[Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart2.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart2.c
++Next=Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
++
++[Root.StdPeriph_Driver...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s007.dep STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s007.dep
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s007.dep 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s007.dep 2015-02-23 17:52:32.000000000 +0100
+@@ -0,0 +1,5 @@
++; STMicroelectronics dependencies file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s007.stp STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s007.stp
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s007.stp 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s007.stp 2015-02-19 11:21:34.000000000 +0100
+@@ -0,0 +1,549 @@
++; STMicroelectronics Project file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
++
++[Project]
++Name=stm8s007
++Toolset=STM8 Cosmic
++
++[Config]
++0=Config.0
++1=Config.1
++
++[Config.0]
++ConfigName=Debug
++Target=$(ProjectSFile).elf
++OutputFolder=Debug
++Debug=$(TargetFName)
++
++[Config.1]
++ConfigName=Release
++Target=stm8s007.elf
++OutputFolder=Release
++Debug=$(TargetFName)
++
++[Root]
++ElemType=Project
++PathName=stm8s007
++Child=Root.STM8S_EVAL
++Config.0=Root.Config.0
++Config.1=Root.Config.1
++
++[Root.Config.0]
++Settings.0.0=Root.Config.0.Settings.0
++Settings.0.1=Root.Config.0.Settings.1
++Settings.0.2=Root.Config.0.Settings.2
++Settings.0.3=Root.Config.0.Settings.3
++Settings.0.4=Root.Config.0.Settings.4
++Settings.0.5=Root.Config.0.Settings.5
++Settings.0.6=Root.Config.0.Settings.6
++Settings.0.7=Root.Config.0.Settings.7
++Settings.0.8=Root.Config.0.Settings.8
++
++[Root.Config.1]
++Settings.1.0=Root.Config.1.Settings.0
++Settings.1.1=Root.Config.1.Settings.1
++Settings.1.2=Root.Config.1.Settings.2
++Settings.1.3=Root.Config.1.Settings.3
++Settings.1.4=Root.Config.1.Settings.4
++Settings.1.5=Root.Config.1.Settings.5
++Settings.1.6=Root.Config.1.Settings.6
++Settings.1.7=Root.Config.1.Settings.7
++Settings.1.8=Root.Config.1.Settings.8
++
++[Root.Config.0.Settings.0]
++String.6.0=2011,11,16,18,14,47
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM7 Cosmic
++String.100.3=STM8 Cosmic
++String.100.4=ST7 Metrowerks V1.1
++String.100.5=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Debug
++String.107.0=$(ProjectSFile).elf
++Int.108=0
++
++[Root.Config.0.Settings.1]
++String.6.0=2011,11,16,17,58,29
++String.100.0=$(TargetFName)
++String.101.0=
++String.103.0=.\;..\..\..\..\utilities\stm8s_eval;..\..;..\..\..\..\libraries\stm8s_stdperiph_driver\src;
++
++[Root.Config.0.Settings.2]
++String.2.0=
++String.6.0=2011,11,16,17,58,29
++String.100.0=STM8S007C8
++
++[Root.Config.0.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S007 -dUSE_STM8_128_EVAL -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc -i..\..\..\..\utilities\stm8s_eval -i..\..\..\..\utilities\stm8s_eval\common -i..\..\..\..\utilities\stm8s_eval\stm8-128_eval $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,41,42
++
++[Root.Config.0.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,17,58,29
++
++[Root.Config.0.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2011,11,16,17,58,29
++String.8.0=
++
++[Root.Config.0.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeInteger -fakeOutFile$(ProjectSFile).elf -fakeRunConv -fakeStartupcrtsi0.sm8 -fakeSemiAutoGen -fakeVectFilestm8_interrupt_vector.c -fakeVectAddr0x8000 -customMapFile -customMapFile-m$(OutputPath)$(TargetSName).map -customMapAddress -customCfgFile$(OutputPath)$(TargetSName).lkf
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=
++String.6.0=2011,11,16,18,29,46
++String.100.0=
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0xff80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x80 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0x1300 -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0x17fff]=.const,.text
++String.103.1=Eeprom[0x4000-0x407f]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x13ff]=.data,.bss
++String.104.0=0x17ff
++Int.0=0
++Int.1=0
++
++[Root.Config.0.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2011,11,16,17,58,29
++
++[Root.Config.0.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2011,11,16,17,58,29
++
++[Root.Config.1.Settings.0]
++String.6.0=2011,11,16,17,58,29
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM7 Cosmic
++String.100.3=STM8 Cosmic
++String.100.4=ST7 Metrowerks V1.1
++String.100.5=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Release
++String.107.0=stm8s007.elf
++Int.108=0
++
++[Root.Config.1.Settings.1]
++String.6.0=2011,11,16,17,58,29
++String.100.0=$(TargetFName)
++String.101.0=
++String.103.0=.\;..\..\..\..\utilities\stm8s_eval;..\..;..\..\..\..\libraries\stm8s_stdperiph_driver\src;
++
++[Root.Config.1.Settings.2]
++String.2.0=
++String.6.0=2011,11,16,17,58,29
++String.100.0=STM8S007C8
++
++[Root.Config.1.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,17,58,29
++
++[Root.Config.1.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,17,58,29
++
++[Root.Config.1.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2011,11,16,17,58,29
++
++[Root.Config.1.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk -fakeRunConv -fakeInteger -fakeSemiAutoGen $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeOutFile$(ProjectSFile).elf -customCfgFile $(OutputPath)$(TargetSName).lkf -fakeVectFilestm8_interrupt_vector.c -fakeStartupcrtsi0.sm8
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8 -fakeVectAddr0x8000
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=$(OutputPath)$(TargetSName).map $(OutputPath)$(TargetSName).st7 $(OutputPath)$(TargetSName).s19
++String.6.0=2011,11,16,17,58,29
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0xff80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x80 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0x1300 -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0x17fff]=.const,.text
++String.103.1=Eeprom[0x4000-0x407f]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x13ff]=.data,.bss
++String.104.0=0x17ff
++Int.0=0
++Int.1=0
++
++[Root.Config.1.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2011,11,16,17,58,29
++
++[Root.Config.1.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2011,11,16,17,58,29
++
++[Root.STM8S_EVAL]
++ElemType=Folder
++PathName=STM8S_EVAL
++Child=Root.STM8S_EVAL...\..\..\..\utilities\stm8s_eval\stm8s_eval.c
++Next=Root.Source Files
++Config.0=Root.STM8S_EVAL.Config.0
++Config.1=Root.STM8S_EVAL.Config.1
++
++[Root.STM8S_EVAL.Config.0]
++Settings.0.0=Root.STM8S_EVAL.Config.0.Settings.0
++Settings.0.1=Root.STM8S_EVAL.Config.0.Settings.1
++Settings.0.2=Root.STM8S_EVAL.Config.0.Settings.2
++Settings.0.3=Root.STM8S_EVAL.Config.0.Settings.3
++
++[Root.STM8S_EVAL.Config.1]
++Settings.1.0=Root.STM8S_EVAL.Config.1.Settings.0
++Settings.1.1=Root.STM8S_EVAL.Config.1.Settings.1
++Settings.1.2=Root.STM8S_EVAL.Config.1.Settings.2
++Settings.1.3=Root.STM8S_EVAL.Config.1.Settings.3
++
++[Root.STM8S_EVAL.Config.0.Settings.0]
++String.6.0=2011,11,16,17,59,13
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.STM8S_EVAL.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S007 -dUSE_STM8_128_EVAL -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc -i..\..\..\..\utilities\stm8s_eval -i..\..\..\..\utilities\stm8s_eval\common -i..\..\..\..\utilities\stm8s_eval\stm8-128_eval $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,41,42
++
++[Root.STM8S_EVAL.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,17,58,29
++
++[Root.STM8S_EVAL.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,11,16,17,58,29
++
++[Root.STM8S_EVAL.Config.1.Settings.0]
++String.6.0=2011,11,16,17,59,13
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.STM8S_EVAL.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,17,58,29
++
++[Root.STM8S_EVAL.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,17,58,29
++
++[Root.STM8S_EVAL.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,11,16,17,58,29
++
++[Root.STM8S_EVAL...\..\..\..\utilities\stm8s_eval\stm8s_eval.c]
++ElemType=File
++PathName=..\..\..\..\utilities\stm8s_eval\stm8s_eval.c
++
++[Root.Source Files]
++ElemType=Folder
++PathName=Source Files
++Child=Root.Source Files...\..\main.c
++Next=Root.StdPeriph_Drivers
++Config.0=Root.Source Files.Config.0
++Config.1=Root.Source Files.Config.1
++
++[Root.Source Files.Config.0]
++Settings.0.0=Root.Source Files.Config.0.Settings.0
++Settings.0.1=Root.Source Files.Config.0.Settings.1
++Settings.0.2=Root.Source Files.Config.0.Settings.2
++Settings.0.3=Root.Source Files.Config.0.Settings.3
++
++[Root.Source Files.Config.1]
++Settings.1.0=Root.Source Files.Config.1.Settings.0
++Settings.1.1=Root.Source Files.Config.1.Settings.1
++Settings.1.2=Root.Source Files.Config.1.Settings.2
++Settings.1.3=Root.Source Files.Config.1.Settings.3
++
++[Root.Source Files.Config.0.Settings.0]
++String.6.0=2011,11,16,17,59,25
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S007 -dUSE_STM8_128_EVAL -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc -i..\..\..\..\utilities\stm8s_eval -i..\..\..\..\utilities\stm8s_eval\common -i..\..\..\..\utilities\stm8s_eval\stm8-128_eval $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,41,42
++
++[Root.Source Files.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,17,58,29
++
++[Root.Source Files.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,11,16,17,58,29
++
++[Root.Source Files.Config.1.Settings.0]
++String.6.0=2011,11,16,17,59,25
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,17,58,29
++
++[Root.Source Files.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,17,58,29
++
++[Root.Source Files.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,11,16,17,58,29
++
++[Root.Source Files...\..\main.c]
++ElemType=File
++PathName=..\..\main.c
++Next=Root.Source Files...\..\stm8s_it.c
++
++[Root.Source Files...\..\stm8s_it.c]
++ElemType=File
++PathName=..\..\stm8s_it.c
++Next=Root.Source Files.stm8_interrupt_vector.c
++
++[Root.Source Files.stm8_interrupt_vector.c]
++ElemType=File
++PathName=stm8_interrupt_vector.c
++
++[Root.StdPeriph_Drivers]
++ElemType=Folder
++PathName=StdPeriph_Drivers
++Child=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc2.c
++Config.0=Root.StdPeriph_Drivers.Config.0
++Config.1=Root.StdPeriph_Drivers.Config.1
++
++[Root.StdPeriph_Drivers.Config.0]
++Settings.0.0=Root.StdPeriph_Drivers.Config.0.Settings.0
++Settings.0.1=Root.StdPeriph_Drivers.Config.0.Settings.1
++Settings.0.2=Root.StdPeriph_Drivers.Config.0.Settings.2
++Settings.0.3=Root.StdPeriph_Drivers.Config.0.Settings.3
++
++[Root.StdPeriph_Drivers.Config.1]
++Settings.1.0=Root.StdPeriph_Drivers.Config.1.Settings.0
++Settings.1.1=Root.StdPeriph_Drivers.Config.1.Settings.1
++Settings.1.2=Root.StdPeriph_Drivers.Config.1.Settings.2
++Settings.1.3=Root.StdPeriph_Drivers.Config.1.Settings.3
++
++[Root.StdPeriph_Drivers.Config.0.Settings.0]
++String.6.0=2011,11,16,17,59,39
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Drivers.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S007 -dUSE_STM8_128_EVAL -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc -i..\..\..\..\utilities\stm8s_eval -i..\..\..\..\utilities\stm8s_eval\common -i..\..\..\..\utilities\stm8s_eval\stm8-128_eval $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,41,42
++
++[Root.StdPeriph_Drivers.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,17,58,29
++
++[Root.StdPeriph_Drivers.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,11,16,17,58,29
++
++[Root.StdPeriph_Drivers.Config.1.Settings.0]
++String.6.0=2011,11,16,17,59,39
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Drivers.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,17,58,29
++
++[Root.StdPeriph_Drivers.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,17,58,29
++
++[Root.StdPeriph_Drivers.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2011,11,16,17,58,29
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc2.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc2.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart3.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart3.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart3.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s103.dep STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s103.dep
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s103.dep 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s103.dep 2015-02-23 17:52:32.000000000 +0100
+@@ -0,0 +1,5 @@
++; STMicroelectronics dependencies file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s103.stp STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s103.stp
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s103.stp 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s103.stp 2015-02-19 11:21:32.000000000 +0100
+@@ -0,0 +1,459 @@
++; STMicroelectronics Project file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
++
++[Project]
++Name=stm8s103
++Toolset=STM8 Cosmic
++
++[Config]
++0=Config.0
++1=Config.1
++
++[Config.0]
++ConfigName=Debug
++Target=stm8s103.elf
++OutputFolder=Debug
++Debug=$(TargetFName)
++
++[Config.1]
++ConfigName=Release
++Target=stm8s103.elf
++OutputFolder=Release
++Debug=$(TargetFName)
++
++[Root]
++ElemType=Project
++PathName=stm8s103
++Child=Root.Source Files
++Config.0=Root.Config.0
++Config.1=Root.Config.1
++
++[Root.Config.0]
++Settings.0.0=Root.Config.0.Settings.0
++Settings.0.1=Root.Config.0.Settings.1
++Settings.0.2=Root.Config.0.Settings.2
++Settings.0.3=Root.Config.0.Settings.3
++Settings.0.4=Root.Config.0.Settings.4
++Settings.0.5=Root.Config.0.Settings.5
++Settings.0.6=Root.Config.0.Settings.6
++Settings.0.7=Root.Config.0.Settings.7
++Settings.0.8=Root.Config.0.Settings.8
++
++[Root.Config.1]
++Settings.1.0=Root.Config.1.Settings.0
++Settings.1.1=Root.Config.1.Settings.1
++Settings.1.2=Root.Config.1.Settings.2
++Settings.1.3=Root.Config.1.Settings.3
++Settings.1.4=Root.Config.1.Settings.4
++Settings.1.5=Root.Config.1.Settings.5
++Settings.1.6=Root.Config.1.Settings.6
++Settings.1.7=Root.Config.1.Settings.7
++Settings.1.8=Root.Config.1.Settings.8
++
++[Root.Config.0.Settings.0]
++String.6.0=2010,12,3,14,49,2
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM8 Cosmic
++String.100.3=ST7 Metrowerks V1.1
++String.100.4=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Debug
++String.107.0=stm8s103.elf
++Int.108=0
++
++[Root.Config.0.Settings.1]
++String.6.0=2010,12,3,14,49,2
++String.100.0=$(TargetFName)
++String.101.0=
++String.103.0=.\;..\..;..\..\..\..\libraries\stm8s_stdperiph_driver\src;
++
++[Root.Config.0.Settings.2]
++String.2.0=
++String.6.0=2010,12,3,14,49,2
++String.100.0=STM8S103K3U
++
++[Root.Config.0.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S103 -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.Config.0.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,49,2
++
++[Root.Config.0.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2010,12,3,14,49,2
++String.8.0=
++
++[Root.Config.0.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk -customMapFile -customMapFile-m $(OutputPath)$(TargetSName).map -fakeRunConv -fakeInteger -fakeSemiAutoGen $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeOutFile$(ProjectSFile).elf -customCfgFile $(OutputPath)$(TargetSName).lkf -fakeVectFilestm8_interrupt_vector.c -fakeStartupcrtsi0.sm8
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8 -fakeVectAddr0x8000
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=
++String.6.0=2011,2,22,8,53,36
++String.100.0=
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0x1f80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x280 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0x100 -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0x9fff]=.const,.text
++String.103.1=Eeprom[0x4000-0x427f]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x1ff]=.data,.bss
++String.104.0=0x3ff
++Int.0=0
++Int.1=0
++
++[Root.Config.0.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2010,12,3,14,49,2
++
++[Root.Config.0.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2010,12,3,14,49,2
++
++[Root.Config.1.Settings.0]
++String.6.0=2010,12,3,14,49,2
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM8 Cosmic
++String.100.3=ST7 Metrowerks V1.1
++String.100.4=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Release
++String.107.0=stm8s103.elf
++Int.108=0
++
++[Root.Config.1.Settings.1]
++String.6.0=2010,12,3,14,49,2
++String.100.0=$(TargetFName)
++String.101.0=
++String.103.0=.\;..\..;..\..\..\..\libraries\stm8s_stdperiph_driver\src;
++
++[Root.Config.1.Settings.2]
++String.2.0=
++String.6.0=2010,12,3,14,49,2
++String.100.0=STM8S103K3U
++
++[Root.Config.1.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,49,2
++
++[Root.Config.1.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,49,2
++
++[Root.Config.1.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2010,12,3,14,49,2
++
++[Root.Config.1.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk -fakeRunConv -fakeInteger -fakeSemiAutoGen $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeOutFile$(ProjectSFile).elf -customCfgFile $(OutputPath)$(TargetSName).lkf -fakeVectFilestm8_interrupt_vector.c -fakeStartupcrtsi0.sm8
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8 -fakeVectAddr0x8000
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=$(OutputPath)$(TargetSName).map $(OutputPath)$(TargetSName).st7 $(OutputPath)$(TargetSName).s19
++String.6.0=2010,12,3,14,49,2
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0x1f80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x280 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0x100 -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0x9fff]=.const,.text
++String.103.1=Eeprom[0x4000-0x427f]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x1ff]=.data,.bss
++String.104.0=0x3ff
++Int.0=0
++Int.1=0
++
++[Root.Config.1.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2010,12,3,14,49,2
++
++[Root.Config.1.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2010,12,3,14,49,2
++
++[Root.Source Files]
++ElemType=Folder
++PathName=Source Files
++Child=Root.Source Files...\..\main.c
++Next=Root.StdPeriph_Drivers
++Config.0=Root.Source Files.Config.0
++Config.1=Root.Source Files.Config.1
++
++[Root.Source Files.Config.0]
++Settings.0.0=Root.Source Files.Config.0.Settings.0
++Settings.0.1=Root.Source Files.Config.0.Settings.1
++Settings.0.2=Root.Source Files.Config.0.Settings.2
++Settings.0.3=Root.Source Files.Config.0.Settings.3
++
++[Root.Source Files.Config.1]
++Settings.1.0=Root.Source Files.Config.1.Settings.0
++Settings.1.1=Root.Source Files.Config.1.Settings.1
++Settings.1.2=Root.Source Files.Config.1.Settings.2
++Settings.1.3=Root.Source Files.Config.1.Settings.3
++
++[Root.Source Files.Config.0.Settings.0]
++String.6.0=2010,12,3,14,49,2
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S103 -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.Source Files.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,49,2
++
++[Root.Source Files.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2010,12,3,14,49,2
++
++[Root.Source Files.Config.1.Settings.0]
++String.6.0=2010,12,3,14,49,2
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,49,2
++
++[Root.Source Files.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,49,2
++
++[Root.Source Files.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2010,12,3,14,49,2
++
++[Root.Source Files...\..\main.c]
++ElemType=File
++PathName=..\..\main.c
++Next=Root.Source Files...\..\stm8s_it.c
++
++[Root.Source Files...\..\stm8s_it.c]
++ElemType=File
++PathName=..\..\stm8s_it.c
++Next=Root.Source Files.stm8_interrupt_vector.c
++
++[Root.Source Files.stm8_interrupt_vector.c]
++ElemType=File
++PathName=stm8_interrupt_vector.c
++
++[Root.StdPeriph_Drivers]
++ElemType=Folder
++PathName=StdPeriph_Drivers
++Child=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc1.c
++Config.0=Root.StdPeriph_Drivers.Config.0
++Config.1=Root.StdPeriph_Drivers.Config.1
++
++[Root.StdPeriph_Drivers.Config.0]
++Settings.0.0=Root.StdPeriph_Drivers.Config.0.Settings.0
++Settings.0.1=Root.StdPeriph_Drivers.Config.0.Settings.1
++Settings.0.2=Root.StdPeriph_Drivers.Config.0.Settings.2
++Settings.0.3=Root.StdPeriph_Drivers.Config.0.Settings.3
++
++[Root.StdPeriph_Drivers.Config.1]
++Settings.1.0=Root.StdPeriph_Drivers.Config.1.Settings.0
++Settings.1.1=Root.StdPeriph_Drivers.Config.1.Settings.1
++Settings.1.2=Root.StdPeriph_Drivers.Config.1.Settings.2
++Settings.1.3=Root.StdPeriph_Drivers.Config.1.Settings.3
++
++[Root.StdPeriph_Drivers.Config.0.Settings.0]
++String.6.0=2010,12,3,14,50,8
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Drivers.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S103 -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.StdPeriph_Drivers.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,49,2
++
++[Root.StdPeriph_Drivers.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2010,12,3,14,49,2
++
++[Root.StdPeriph_Drivers.Config.1.Settings.0]
++String.6.0=2010,12,3,14,50,8
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Drivers.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,49,2
++
++[Root.StdPeriph_Drivers.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,49,2
++
++[Root.StdPeriph_Drivers.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2010,12,3,14,49,2
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s105.dep STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s105.dep
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s105.dep 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s105.dep 2015-02-23 17:52:32.000000000 +0100
+@@ -0,0 +1,5 @@
++; STMicroelectronics dependencies file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s105.stp STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s105.stp
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s105.stp 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s105.stp 2015-02-19 11:21:32.000000000 +0100
+@@ -0,0 +1,464 @@
++; STMicroelectronics Project file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
++
++[Project]
++Name=stm8s105
++Toolset=STM8 Cosmic
++
++[Config]
++0=Config.0
++1=Config.1
++
++[Config.0]
++ConfigName=Debug
++Target=stm8s105.elf
++OutputFolder=Debug
++Debug=$(TargetFName)
++
++[Config.1]
++ConfigName=Release
++Target=stm8s105.elf
++OutputFolder=Release
++Debug=$(TargetFName)
++
++[Root]
++ElemType=Project
++PathName=stm8s105
++Child=Root.Source Files
++Config.0=Root.Config.0
++Config.1=Root.Config.1
++
++[Root.Config.0]
++Settings.0.0=Root.Config.0.Settings.0
++Settings.0.1=Root.Config.0.Settings.1
++Settings.0.2=Root.Config.0.Settings.2
++Settings.0.3=Root.Config.0.Settings.3
++Settings.0.4=Root.Config.0.Settings.4
++Settings.0.5=Root.Config.0.Settings.5
++Settings.0.6=Root.Config.0.Settings.6
++Settings.0.7=Root.Config.0.Settings.7
++Settings.0.8=Root.Config.0.Settings.8
++
++[Root.Config.1]
++Settings.1.0=Root.Config.1.Settings.0
++Settings.1.1=Root.Config.1.Settings.1
++Settings.1.2=Root.Config.1.Settings.2
++Settings.1.3=Root.Config.1.Settings.3
++Settings.1.4=Root.Config.1.Settings.4
++Settings.1.5=Root.Config.1.Settings.5
++Settings.1.6=Root.Config.1.Settings.6
++Settings.1.7=Root.Config.1.Settings.7
++Settings.1.8=Root.Config.1.Settings.8
++
++[Root.Config.0.Settings.0]
++String.6.0=2010,12,3,14,43,8
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM8 Cosmic
++String.100.3=ST7 Metrowerks V1.1
++String.100.4=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Debug
++String.107.0=stm8s105.elf
++Int.108=0
++
++[Root.Config.0.Settings.1]
++String.6.0=2010,12,3,14,43,8
++String.100.0=$(TargetFName)
++String.101.0=
++String.103.0=.\;..\..\..\..\libraries\stm8s_stdperiph_driver\src;..\..;
++
++[Root.Config.0.Settings.2]
++String.2.0=
++String.6.0=2010,12,3,14,43,8
++String.100.0=STM8S105C6
++
++[Root.Config.0.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S105 -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.Config.0.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,43,8
++
++[Root.Config.0.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2010,12,3,14,43,8
++String.8.0=
++
++[Root.Config.0.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk -customMapFile -customMapFile-m $(OutputPath)$(TargetSName).map -fakeRunConv -fakeInteger -fakeSemiAutoGen $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeOutFile$(ProjectSFile).elf -customCfgFile $(OutputPath)$(TargetSName).lkf -fakeVectFilestm8_interrupt_vector.c -fakeStartupcrtsi0.sm8
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8 -fakeVectAddr0x8000
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=
++String.6.0=2011,2,22,8,53,36
++String.100.0=
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0x7f80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x400 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0x500 -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0xffff]=.const,.text
++String.103.1=Eeprom[0x4000-0x43ff]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x5ff]=.data,.bss
++String.104.0=0x7ff
++Int.0=0
++Int.1=0
++
++[Root.Config.0.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2010,12,3,14,43,8
++
++[Root.Config.0.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2010,12,3,14,43,8
++
++[Root.Config.1.Settings.0]
++String.6.0=2010,12,3,14,43,8
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM8 Cosmic
++String.100.3=ST7 Metrowerks V1.1
++String.100.4=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Release
++String.107.0=stm8s105.elf
++Int.108=0
++
++[Root.Config.1.Settings.1]
++String.6.0=2010,12,3,14,43,8
++String.100.0=$(TargetFName)
++String.101.0=
++String.103.0=.\;..\..\..\..\libraries\stm8s_stdperiph_driver\src;..\..;
++
++[Root.Config.1.Settings.2]
++String.2.0=
++String.6.0=2010,12,3,14,43,8
++String.100.0=STM8S105C6
++
++[Root.Config.1.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,43,8
++
++[Root.Config.1.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,43,8
++
++[Root.Config.1.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2010,12,3,14,43,8
++
++[Root.Config.1.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk -fakeRunConv -fakeInteger -fakeSemiAutoGen $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeOutFile$(ProjectSFile).elf -customCfgFile $(OutputPath)$(TargetSName).lkf -fakeVectFilestm8_interrupt_vector.c -fakeStartupcrtsi0.sm8
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8 -fakeVectAddr0x8000
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=$(OutputPath)$(TargetSName).map $(OutputPath)$(TargetSName).st7 $(OutputPath)$(TargetSName).s19
++String.6.0=2010,12,3,14,43,8
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0x7f80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x400 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0x500 -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0xffff]=.const,.text
++String.103.1=Eeprom[0x4000-0x43ff]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x5ff]=.data,.bss
++String.104.0=0x7ff
++Int.0=0
++Int.1=0
++
++[Root.Config.1.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2010,12,3,14,43,8
++
++[Root.Config.1.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2010,12,3,14,43,8
++
++[Root.Source Files]
++ElemType=Folder
++PathName=Source Files
++Child=Root.Source Files...\..\main.c
++Next=Root.StdPeriph_Drivers
++Config.0=Root.Source Files.Config.0
++Config.1=Root.Source Files.Config.1
++
++[Root.Source Files.Config.0]
++Settings.0.0=Root.Source Files.Config.0.Settings.0
++Settings.0.1=Root.Source Files.Config.0.Settings.1
++Settings.0.2=Root.Source Files.Config.0.Settings.2
++Settings.0.3=Root.Source Files.Config.0.Settings.3
++
++[Root.Source Files.Config.1]
++Settings.1.0=Root.Source Files.Config.1.Settings.0
++Settings.1.1=Root.Source Files.Config.1.Settings.1
++Settings.1.2=Root.Source Files.Config.1.Settings.2
++Settings.1.3=Root.Source Files.Config.1.Settings.3
++
++[Root.Source Files.Config.0.Settings.0]
++String.6.0=2010,12,3,14,43,8
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S105 -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.Source Files.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,43,8
++
++[Root.Source Files.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2010,12,3,14,43,8
++
++[Root.Source Files.Config.1.Settings.0]
++String.6.0=2010,12,3,14,43,8
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,43,8
++
++[Root.Source Files.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,43,8
++
++[Root.Source Files.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2010,12,3,14,43,8
++
++[Root.Source Files...\..\main.c]
++ElemType=File
++PathName=..\..\main.c
++Next=Root.Source Files...\..\stm8s_it.c
++
++[Root.Source Files...\..\stm8s_it.c]
++ElemType=File
++PathName=..\..\stm8s_it.c
++Next=Root.Source Files.stm8_interrupt_vector.c
++
++[Root.Source Files.stm8_interrupt_vector.c]
++ElemType=File
++PathName=stm8_interrupt_vector.c
++
++[Root.StdPeriph_Drivers]
++ElemType=Folder
++PathName=StdPeriph_Drivers
++Child=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc1.c
++Config.0=Root.StdPeriph_Drivers.Config.0
++Config.1=Root.StdPeriph_Drivers.Config.1
++
++[Root.StdPeriph_Drivers.Config.0]
++Settings.0.0=Root.StdPeriph_Drivers.Config.0.Settings.0
++Settings.0.1=Root.StdPeriph_Drivers.Config.0.Settings.1
++Settings.0.2=Root.StdPeriph_Drivers.Config.0.Settings.2
++Settings.0.3=Root.StdPeriph_Drivers.Config.0.Settings.3
++
++[Root.StdPeriph_Drivers.Config.1]
++Settings.1.0=Root.StdPeriph_Drivers.Config.1.Settings.0
++Settings.1.1=Root.StdPeriph_Drivers.Config.1.Settings.1
++Settings.1.2=Root.StdPeriph_Drivers.Config.1.Settings.2
++Settings.1.3=Root.StdPeriph_Drivers.Config.1.Settings.3
++
++[Root.StdPeriph_Drivers.Config.0.Settings.0]
++String.6.0=2010,12,3,14,44,2
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Drivers.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S105 -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.StdPeriph_Drivers.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,43,8
++
++[Root.StdPeriph_Drivers.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2010,12,3,14,43,8
++
++[Root.StdPeriph_Drivers.Config.1.Settings.0]
++String.6.0=2010,12,3,14,44,2
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Drivers.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,43,8
++
++[Root.StdPeriph_Drivers.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,43,8
++
++[Root.StdPeriph_Drivers.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2010,12,3,14,43,8
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart2.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart2.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart2.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s207.dep STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s207.dep
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s207.dep 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s207.dep 2015-02-23 17:52:32.000000000 +0100
+@@ -0,0 +1,5 @@
++; STMicroelectronics dependencies file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s207.stp STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s207.stp
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s207.stp 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s207.stp 2015-02-19 11:21:30.000000000 +0100
+@@ -0,0 +1,547 @@
++; STMicroelectronics Project file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
++
++[Project]
++Name=stm8s207
++Toolset=STM8 Cosmic
++
++[Config]
++0=Config.0
++1=Config.1
++
++[Config.0]
++ConfigName=Debug
++Target=stm8s207.elf
++OutputFolder=Debug
++Debug=$(TargetFName)
++
++[Config.1]
++ConfigName=Release
++Target=stm8s207.elf
++OutputFolder=Release
++Debug=$(TargetFName)
++
++[Root]
++ElemType=Project
++PathName=stm8s207
++Child=Root.STM8S_EVAL
++Config.0=Root.Config.0
++Config.1=Root.Config.1
++
++[Root.Config.0]
++Settings.0.0=Root.Config.0.Settings.0
++Settings.0.1=Root.Config.0.Settings.1
++Settings.0.2=Root.Config.0.Settings.2
++Settings.0.3=Root.Config.0.Settings.3
++Settings.0.4=Root.Config.0.Settings.4
++Settings.0.5=Root.Config.0.Settings.5
++Settings.0.6=Root.Config.0.Settings.6
++Settings.0.7=Root.Config.0.Settings.7
++Settings.0.8=Root.Config.0.Settings.8
++
++[Root.Config.1]
++Settings.1.0=Root.Config.1.Settings.0
++Settings.1.1=Root.Config.1.Settings.1
++Settings.1.2=Root.Config.1.Settings.2
++Settings.1.3=Root.Config.1.Settings.3
++Settings.1.4=Root.Config.1.Settings.4
++Settings.1.5=Root.Config.1.Settings.5
++Settings.1.6=Root.Config.1.Settings.6
++Settings.1.7=Root.Config.1.Settings.7
++Settings.1.8=Root.Config.1.Settings.8
++
++[Root.Config.0.Settings.0]
++String.6.0=2010,12,3,14,34,53
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM8 Cosmic
++String.100.3=ST7 Metrowerks V1.1
++String.100.4=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Debug
++String.107.0=stm8s207.elf
++Int.108=0
++
++[Root.Config.0.Settings.1]
++String.6.0=2010,12,3,14,34,53
++String.100.0=$(TargetFName)
++String.101.0=
++String.103.0=.\;..\..;..\..\..\..\libraries\stm8s_stdperiph_driver\src;..\..\..\..\utilities\stm8s_eval;
++
++[Root.Config.0.Settings.2]
++String.2.0=
++String.6.0=2010,12,3,14,34,53
++String.100.0=STM8S207MB
++
++[Root.Config.0.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S207 -dUSE_STM8_128_EVAL -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc -i..\..\..\..\utilities\stm8s_eval -i..\..\..\..\utilities\stm8s_eval\common -i..\..\..\..\utilities\stm8s_eval\stm8-128_eval $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.Config.0.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,34,53
++
++[Root.Config.0.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2010,12,3,14,34,53
++String.8.0=
++
++[Root.Config.0.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk -customMapFile -customMapFile-m $(OutputPath)$(TargetSName).map -fakeRunConv -fakeInteger -fakeSemiAutoGen $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeOutFile$(ProjectSFile).elf -customCfgFile $(OutputPath)$(TargetSName).lkf -fakeVectFilestm8_interrupt_vector.c -fakeStartupcrtsi0.sm8
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8 -fakeVectAddr0x8000
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=
++String.6.0=2011,2,22,8,53,36
++String.100.0=
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0x1ff80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x800 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0x1300 -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0x27fff]=.const,.text
++String.103.1=Eeprom[0x4000-0x47ff]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x13ff]=.data,.bss
++String.104.0=0x17ff
++Int.0=0
++Int.1=0
++
++[Root.Config.0.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2010,12,3,14,34,53
++
++[Root.Config.0.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2010,12,3,14,34,53
++
++[Root.Config.1.Settings.0]
++String.6.0=2010,12,3,14,34,53
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM8 Cosmic
++String.100.3=ST7 Metrowerks V1.1
++String.100.4=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Release
++String.107.0=stm8s207.elf
++Int.108=0
++
++[Root.Config.1.Settings.1]
++String.6.0=2010,12,3,14,34,53
++String.100.0=$(TargetFName)
++String.101.0=
++String.103.0=.\;..\..;..\..\..\..\libraries\stm8s_stdperiph_driver\src;..\..\..\..\utilities\stm8s_eval;
++
++[Root.Config.1.Settings.2]
++String.2.0=
++String.6.0=2010,12,3,14,34,53
++String.100.0=STM8S207MB
++
++[Root.Config.1.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 -i..\..\..\..\utilities\stm8s_eval\common +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,34,53
++
++[Root.Config.1.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,34,53
++
++[Root.Config.1.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2010,12,3,14,34,53
++
++[Root.Config.1.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk -fakeRunConv -fakeInteger -fakeSemiAutoGen $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeOutFile$(ProjectSFile).elf -customCfgFile $(OutputPath)$(TargetSName).lkf -fakeVectFilestm8_interrupt_vector.c -fakeStartupcrtsi0.sm8
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8 -fakeVectAddr0x8000
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=$(OutputPath)$(TargetSName).map $(OutputPath)$(TargetSName).st7 $(OutputPath)$(TargetSName).s19
++String.6.0=2010,12,3,14,34,53
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0x1ff80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x800 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0x1300 -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0x27fff]=.const,.text
++String.103.1=Eeprom[0x4000-0x47ff]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x13ff]=.data,.bss
++String.104.0=0x17ff
++Int.0=0
++Int.1=0
++
++[Root.Config.1.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2010,12,3,14,34,53
++
++[Root.Config.1.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2010,12,3,14,34,53
++
++[Root.STM8S_EVAL]
++ElemType=Folder
++PathName=STM8S_EVAL
++Child=Root.STM8S_EVAL...\..\..\..\utilities\stm8s_eval\stm8s_eval.c
++Next=Root.Source Files
++Config.0=Root.STM8S_EVAL.Config.0
++Config.1=Root.STM8S_EVAL.Config.1
++
++[Root.STM8S_EVAL.Config.0]
++Settings.0.0=Root.STM8S_EVAL.Config.0.Settings.0
++Settings.0.1=Root.STM8S_EVAL.Config.0.Settings.1
++Settings.0.2=Root.STM8S_EVAL.Config.0.Settings.2
++Settings.0.3=Root.STM8S_EVAL.Config.0.Settings.3
++
++[Root.STM8S_EVAL.Config.1]
++Settings.1.0=Root.STM8S_EVAL.Config.1.Settings.0
++Settings.1.1=Root.STM8S_EVAL.Config.1.Settings.1
++Settings.1.2=Root.STM8S_EVAL.Config.1.Settings.2
++Settings.1.3=Root.STM8S_EVAL.Config.1.Settings.3
++
++[Root.STM8S_EVAL.Config.0.Settings.0]
++String.6.0=2010,12,3,14,35,45
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.STM8S_EVAL.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S207 -dUSE_STM8_128_EVAL -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc -i..\..\..\..\utilities\stm8s_eval -i..\..\..\..\utilities\stm8s_eval\common -i..\..\..\..\utilities\stm8s_eval\stm8-128_eval $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.STM8S_EVAL.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,34,53
++
++[Root.STM8S_EVAL.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2010,12,3,14,34,53
++
++[Root.STM8S_EVAL.Config.1.Settings.0]
++String.6.0=2010,12,3,14,35,45
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.STM8S_EVAL.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 -i..\..\..\..\utilities\stm8s_eval\common +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,34,53
++
++[Root.STM8S_EVAL.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,34,53
++
++[Root.STM8S_EVAL.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2010,12,3,14,34,53
++
++[Root.STM8S_EVAL...\..\..\..\utilities\stm8s_eval\stm8s_eval.c]
++ElemType=File
++PathName=..\..\..\..\utilities\stm8s_eval\stm8s_eval.c
++
++[Root.Source Files]
++ElemType=Folder
++PathName=Source Files
++Child=Root.Source Files...\..\main.c
++Next=Root.StdPeriph_Drivers
++Config.0=Root.Source Files.Config.0
++Config.1=Root.Source Files.Config.1
++
++[Root.Source Files.Config.0]
++Settings.0.0=Root.Source Files.Config.0.Settings.0
++Settings.0.1=Root.Source Files.Config.0.Settings.1
++Settings.0.2=Root.Source Files.Config.0.Settings.2
++Settings.0.3=Root.Source Files.Config.0.Settings.3
++
++[Root.Source Files.Config.1]
++Settings.1.0=Root.Source Files.Config.1.Settings.0
++Settings.1.1=Root.Source Files.Config.1.Settings.1
++Settings.1.2=Root.Source Files.Config.1.Settings.2
++Settings.1.3=Root.Source Files.Config.1.Settings.3
++
++[Root.Source Files.Config.0.Settings.0]
++String.6.0=2010,12,3,14,34,53
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S207 -dUSE_STM8_128_EVAL -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc -i..\..\..\..\utilities\stm8s_eval -i..\..\..\..\utilities\stm8s_eval\common -i..\..\..\..\utilities\stm8s_eval\stm8-128_eval $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.Source Files.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,34,53
++
++[Root.Source Files.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2010,12,3,14,34,53
++
++[Root.Source Files.Config.1.Settings.0]
++String.6.0=2010,12,3,14,34,53
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 -i..\..\..\..\utilities\stm8s_eval\common +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,34,53
++
++[Root.Source Files.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,34,53
++
++[Root.Source Files.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2010,12,3,14,34,53
++
++[Root.Source Files...\..\main.c]
++ElemType=File
++PathName=..\..\main.c
++Next=Root.Source Files...\..\stm8s_it.c
++
++[Root.Source Files...\..\stm8s_it.c]
++ElemType=File
++PathName=..\..\stm8s_it.c
++Next=Root.Source Files.stm8_interrupt_vector.c
++
++[Root.Source Files.stm8_interrupt_vector.c]
++ElemType=File
++PathName=stm8_interrupt_vector.c
++
++[Root.StdPeriph_Drivers]
++ElemType=Folder
++PathName=StdPeriph_Drivers
++Child=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc2.c
++Config.0=Root.StdPeriph_Drivers.Config.0
++Config.1=Root.StdPeriph_Drivers.Config.1
++
++[Root.StdPeriph_Drivers.Config.0]
++Settings.0.0=Root.StdPeriph_Drivers.Config.0.Settings.0
++Settings.0.1=Root.StdPeriph_Drivers.Config.0.Settings.1
++Settings.0.2=Root.StdPeriph_Drivers.Config.0.Settings.2
++Settings.0.3=Root.StdPeriph_Drivers.Config.0.Settings.3
++
++[Root.StdPeriph_Drivers.Config.1]
++Settings.1.0=Root.StdPeriph_Drivers.Config.1.Settings.0
++Settings.1.1=Root.StdPeriph_Drivers.Config.1.Settings.1
++Settings.1.2=Root.StdPeriph_Drivers.Config.1.Settings.2
++Settings.1.3=Root.StdPeriph_Drivers.Config.1.Settings.3
++
++[Root.StdPeriph_Drivers.Config.0.Settings.0]
++String.6.0=2010,12,3,14,36,2
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Drivers.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S207 -dUSE_STM8_128_EVAL -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc -i..\..\..\..\utilities\stm8s_eval -i..\..\..\..\utilities\stm8s_eval\common -i..\..\..\..\utilities\stm8s_eval\stm8-128_eval $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.StdPeriph_Drivers.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,34,53
++
++[Root.StdPeriph_Drivers.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2010,12,3,14,34,53
++
++[Root.StdPeriph_Drivers.Config.1.Settings.0]
++String.6.0=2010,12,3,14,36,2
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Drivers.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 -i..\..\..\..\utilities\stm8s_eval\common +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,34,53
++
++[Root.StdPeriph_Drivers.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,14,34,53
++
++[Root.StdPeriph_Drivers.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2010,12,3,14,34,53
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc2.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc2.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart3.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart3.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart3.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s208.dep STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s208.dep
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s208.dep 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s208.dep 2015-02-23 17:52:32.000000000 +0100
+@@ -0,0 +1,5 @@
++; STMicroelectronics dependencies file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s208.stp STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s208.stp
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s208.stp 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s208.stp 2015-02-19 11:21:30.000000000 +0100
+@@ -0,0 +1,553 @@
++; STMicroelectronics Project file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
++
++[Project]
++Name=stm8s208
++Toolset=STM8 Cosmic
++
++[Config]
++0=Config.0
++1=Config.1
++
++[Config.0]
++ConfigName=Debug
++Target=$(ProjectSFile).elf
++OutputFolder=Debug
++Debug=$(TargetFName)
++
++[Config.1]
++ConfigName=Release
++Target=stm8s208.elf
++OutputFolder=Release
++Debug=$(TargetFName)
++
++[Root]
++ElemType=Project
++PathName=stm8s208
++Child=Root.STM8S_EVAL
++Config.0=Root.Config.0
++Config.1=Root.Config.1
++
++[Root.Config.0]
++Settings.0.0=Root.Config.0.Settings.0
++Settings.0.1=Root.Config.0.Settings.1
++Settings.0.2=Root.Config.0.Settings.2
++Settings.0.3=Root.Config.0.Settings.3
++Settings.0.4=Root.Config.0.Settings.4
++Settings.0.5=Root.Config.0.Settings.5
++Settings.0.6=Root.Config.0.Settings.6
++Settings.0.7=Root.Config.0.Settings.7
++Settings.0.8=Root.Config.0.Settings.8
++
++[Root.Config.1]
++Settings.1.0=Root.Config.1.Settings.0
++Settings.1.1=Root.Config.1.Settings.1
++Settings.1.2=Root.Config.1.Settings.2
++Settings.1.3=Root.Config.1.Settings.3
++Settings.1.4=Root.Config.1.Settings.4
++Settings.1.5=Root.Config.1.Settings.5
++Settings.1.6=Root.Config.1.Settings.6
++Settings.1.7=Root.Config.1.Settings.7
++Settings.1.8=Root.Config.1.Settings.8
++
++[Root.Config.0.Settings.0]
++String.6.0=2010,12,3,14,33,38
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM8 Cosmic
++String.100.3=ST7 Metrowerks V1.1
++String.100.4=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Debug
++String.107.0=$(ProjectSFile).elf
++Int.108=0
++
++[Root.Config.0.Settings.1]
++String.6.0=2010,12,3,11,32,55
++String.100.0=$(TargetFName)
++String.101.0=
++String.103.0=.\;..\..\..\..\libraries\stm8s_stdperiph_driver\src;..\..;..\..\..\..\utilities\stm8s_eval;
++
++[Root.Config.0.Settings.2]
++String.2.0=
++String.6.0=2010,12,3,11,32,55
++String.100.0=STM8S208MB
++
++[Root.Config.0.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S208 -dUSE_STM8_128_EVAL -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc -i..\..\..\..\utilities\stm8s_eval\common -i..\..\..\..\utilities\stm8s_eval\stm8-128_eval -i..\..\..\..\utilities\stm8s_eval $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.Config.0.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,11,32,55
++
++[Root.Config.0.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2010,12,3,11,32,55
++String.8.0=
++
++[Root.Config.0.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeInteger -fakeOutFile$(ProjectSFile).elf -fakeRunConv -fakeStartupcrtsi0.sm8 -fakeSemiAutoGen -fakeVectFilestm8_interrupt_vector.c -fakeVectAddr0x8000 -customMapFile -customMapFile-m$(OutputPath)$(TargetSName).map -customMapAddress -customCfgFile$(OutputPath)$(TargetSName).lkf
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=
++String.6.0=2011,2,22,9,3,59
++String.100.0=
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0x1ff80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x800 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0x1300 -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0x27fff]=.const,.text
++String.103.1=Eeprom[0x4000-0x47ff]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x13ff]=.data,.bss
++String.104.0=0x17ff
++String.105.0=libisl0.sm8;libm0.sm8
++Int.0=0
++Int.1=0
++
++[Root.Config.0.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2010,12,3,11,32,55
++
++[Root.Config.0.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2010,12,3,11,32,55
++
++[Root.Config.1.Settings.0]
++String.6.0=2010,12,3,11,32,55
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM8 Cosmic
++String.100.3=ST7 Metrowerks V1.1
++String.100.4=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Release
++String.107.0=stm8s208.elf
++Int.108=0
++
++[Root.Config.1.Settings.1]
++String.6.0=2010,12,3,11,32,55
++String.100.0=$(TargetFName)
++String.101.0=
++String.103.0=.\;..\..\..\..\libraries\stm8s_stdperiph_driver\src;..\..;..\..\..\..\utilities\stm8s_eval;
++
++[Root.Config.1.Settings.2]
++String.2.0=
++String.6.0=2010,12,3,11,32,55
++String.100.0=STM8S208MB
++
++[Root.Config.1.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 -i..\..\..\..\utilities\stm8s_eval\common +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,11,32,55
++
++[Root.Config.1.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,11,32,55
++
++[Root.Config.1.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2010,12,3,11,32,55
++
++[Root.Config.1.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk -fakeRunConv -fakeInteger -fakeSemiAutoGen $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeOutFile$(ProjectSFile).elf -customCfgFile $(OutputPath)$(TargetSName).lkf -fakeVectFilestm8_interrupt_vector.c -fakeStartupcrtsi0.sm8
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8 -fakeVectAddr0x8000
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=$(OutputPath)$(TargetSName).map $(OutputPath)$(TargetSName).st7 $(OutputPath)$(TargetSName).s19
++String.6.0=2010,12,3,11,32,55
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0x1ff80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x800 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0x1300 -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0x27fff]=.const,.text
++String.103.1=Eeprom[0x4000-0x47ff]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x13ff]=.data,.bss
++String.104.0=0x17ff
++Int.0=0
++Int.1=0
++
++[Root.Config.1.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2010,12,3,11,32,55
++
++[Root.Config.1.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2010,12,3,11,32,55
++
++[Root.STM8S_EVAL]
++ElemType=Folder
++PathName=STM8S_EVAL
++Child=Root.STM8S_EVAL...\..\..\..\utilities\stm8s_eval\stm8s_eval.c
++Next=Root.Source Files
++Config.0=Root.STM8S_EVAL.Config.0
++Config.1=Root.STM8S_EVAL.Config.1
++
++[Root.STM8S_EVAL.Config.0]
++Settings.0.0=Root.STM8S_EVAL.Config.0.Settings.0
++Settings.0.1=Root.STM8S_EVAL.Config.0.Settings.1
++Settings.0.2=Root.STM8S_EVAL.Config.0.Settings.2
++Settings.0.3=Root.STM8S_EVAL.Config.0.Settings.3
++
++[Root.STM8S_EVAL.Config.1]
++Settings.1.0=Root.STM8S_EVAL.Config.1.Settings.0
++Settings.1.1=Root.STM8S_EVAL.Config.1.Settings.1
++Settings.1.2=Root.STM8S_EVAL.Config.1.Settings.2
++Settings.1.3=Root.STM8S_EVAL.Config.1.Settings.3
++
++[Root.STM8S_EVAL.Config.0.Settings.0]
++String.6.0=2010,12,3,11,34,4
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.STM8S_EVAL.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S208 -dUSE_STM8_128_EVAL -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc -i..\..\..\..\utilities\stm8s_eval\common -i..\..\..\..\utilities\stm8s_eval\stm8-128_eval -i..\..\..\..\utilities\stm8s_eval $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.STM8S_EVAL.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,11,32,55
++
++[Root.STM8S_EVAL.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2010,12,3,11,32,55
++
++[Root.STM8S_EVAL.Config.1.Settings.0]
++String.6.0=2010,12,3,11,34,4
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.STM8S_EVAL.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 -i..\..\..\..\utilities\stm8s_eval\common +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,11,32,55
++
++[Root.STM8S_EVAL.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,11,32,55
++
++[Root.STM8S_EVAL.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2010,12,3,11,32,55
++
++[Root.STM8S_EVAL...\..\..\..\utilities\stm8s_eval\stm8s_eval.c]
++ElemType=File
++PathName=..\..\..\..\utilities\stm8s_eval\stm8s_eval.c
++
++[Root.Source Files]
++ElemType=Folder
++PathName=Source Files
++Child=Root.Source Files...\..\main.c
++Next=Root.StdPeriph_Drivers
++Config.0=Root.Source Files.Config.0
++Config.1=Root.Source Files.Config.1
++
++[Root.Source Files.Config.0]
++Settings.0.0=Root.Source Files.Config.0.Settings.0
++Settings.0.1=Root.Source Files.Config.0.Settings.1
++Settings.0.2=Root.Source Files.Config.0.Settings.2
++Settings.0.3=Root.Source Files.Config.0.Settings.3
++
++[Root.Source Files.Config.1]
++Settings.1.0=Root.Source Files.Config.1.Settings.0
++Settings.1.1=Root.Source Files.Config.1.Settings.1
++Settings.1.2=Root.Source Files.Config.1.Settings.2
++Settings.1.3=Root.Source Files.Config.1.Settings.3
++
++[Root.Source Files.Config.0.Settings.0]
++String.6.0=2010,12,3,11,32,55
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S208 -dUSE_STM8_128_EVAL -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc -i..\..\..\..\utilities\stm8s_eval\common -i..\..\..\..\utilities\stm8s_eval\stm8-128_eval -i..\..\..\..\utilities\stm8s_eval $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.Source Files.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,11,32,55
++
++[Root.Source Files.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2010,12,3,11,32,55
++
++[Root.Source Files.Config.1.Settings.0]
++String.6.0=2010,12,3,11,32,55
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 -i..\..\..\..\utilities\stm8s_eval\common +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,11,32,55
++
++[Root.Source Files.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,11,32,55
++
++[Root.Source Files.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2010,12,3,11,32,55
++
++[Root.Source Files...\..\main.c]
++ElemType=File
++PathName=..\..\main.c
++Next=Root.Source Files...\..\stm8s_it.c
++
++[Root.Source Files...\..\stm8s_it.c]
++ElemType=File
++PathName=..\..\stm8s_it.c
++Next=Root.Source Files.stm8_interrupt_vector.c
++
++[Root.Source Files.stm8_interrupt_vector.c]
++ElemType=File
++PathName=stm8_interrupt_vector.c
++
++[Root.StdPeriph_Drivers]
++ElemType=Folder
++PathName=StdPeriph_Drivers
++Child=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc2.c
++Config.0=Root.StdPeriph_Drivers.Config.0
++Config.1=Root.StdPeriph_Drivers.Config.1
++
++[Root.StdPeriph_Drivers.Config.0]
++Settings.0.0=Root.StdPeriph_Drivers.Config.0.Settings.0
++Settings.0.1=Root.StdPeriph_Drivers.Config.0.Settings.1
++Settings.0.2=Root.StdPeriph_Drivers.Config.0.Settings.2
++Settings.0.3=Root.StdPeriph_Drivers.Config.0.Settings.3
++
++[Root.StdPeriph_Drivers.Config.1]
++Settings.1.0=Root.StdPeriph_Drivers.Config.1.Settings.0
++Settings.1.1=Root.StdPeriph_Drivers.Config.1.Settings.1
++Settings.1.2=Root.StdPeriph_Drivers.Config.1.Settings.2
++Settings.1.3=Root.StdPeriph_Drivers.Config.1.Settings.3
++
++[Root.StdPeriph_Drivers.Config.0.Settings.0]
++String.6.0=2010,12,3,11,33,55
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Drivers.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +modsl0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S208 -dUSE_STM8_128_EVAL -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc -i..\..\..\..\utilities\stm8s_eval\common -i..\..\..\..\utilities\stm8s_eval\stm8-128_eval -i..\..\..\..\utilities\stm8s_eval $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.StdPeriph_Drivers.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,11,32,55
++
++[Root.StdPeriph_Drivers.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2010,12,3,11,32,55
++
++[Root.StdPeriph_Drivers.Config.1.Settings.0]
++String.6.0=2010,12,3,11,33,55
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Drivers.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 -i..\..\..\..\utilities\stm8s_eval\common +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,11,32,55
++
++[Root.StdPeriph_Drivers.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,11,32,55
++
++[Root.StdPeriph_Drivers.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2010,12,3,11,32,55
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc2.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc2.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_can.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_can.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_can.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim2.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim3.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim4.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart3.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart3.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart3.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s903.dep STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s903.dep
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s903.dep 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s903.dep 2015-02-23 17:52:32.000000000 +0100
+@@ -0,0 +1,5 @@
++; STMicroelectronics dependencies file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s903.stp STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s903.stp
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s903.stp 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Cosmic/stm8s903.stp 2015-02-19 11:21:32.000000000 +0100
+@@ -0,0 +1,461 @@
++; STMicroelectronics Project file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
++
++[Project]
++Name=stm8s903
++Toolset=STM8 Cosmic
++
++[Config]
++0=Config.0
++1=Config.1
++
++[Config.0]
++ConfigName=Debug
++Target=$(ProjectSFile).elf
++OutputFolder=Debug
++Debug=$(TargetFName)
++
++[Config.1]
++ConfigName=Release
++Target=stm8s903.elf
++OutputFolder=Release
++Debug=$(TargetFName)
++
++[Root]
++ElemType=Project
++PathName=stm8s903
++Child=Root.Source Files
++Config.0=Root.Config.0
++Config.1=Root.Config.1
++
++[Root.Config.0]
++Settings.0.0=Root.Config.0.Settings.0
++Settings.0.1=Root.Config.0.Settings.1
++Settings.0.2=Root.Config.0.Settings.2
++Settings.0.3=Root.Config.0.Settings.3
++Settings.0.4=Root.Config.0.Settings.4
++Settings.0.5=Root.Config.0.Settings.5
++Settings.0.6=Root.Config.0.Settings.6
++Settings.0.7=Root.Config.0.Settings.7
++Settings.0.8=Root.Config.0.Settings.8
++
++[Root.Config.1]
++Settings.1.0=Root.Config.1.Settings.0
++Settings.1.1=Root.Config.1.Settings.1
++Settings.1.2=Root.Config.1.Settings.2
++Settings.1.3=Root.Config.1.Settings.3
++Settings.1.4=Root.Config.1.Settings.4
++Settings.1.5=Root.Config.1.Settings.5
++Settings.1.6=Root.Config.1.Settings.6
++Settings.1.7=Root.Config.1.Settings.7
++Settings.1.8=Root.Config.1.Settings.8
++
++[Root.Config.0.Settings.0]
++String.6.0=2014,9,29,16,34,10
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM8 Cosmic
++String.100.3=ST7 Metrowerks V1.1
++String.100.4=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Debug
++String.107.0=$(ProjectSFile).elf
++Int.108=0
++
++[Root.Config.0.Settings.1]
++String.6.0=2010,12,3,15,21,40
++String.100.0=$(TargetFName)
++String.101.0=
++String.102.0=
++String.103.0=.\;..\..;..\..\..\..\libraries\stm8s_stdperiph_driver\src;
++
++[Root.Config.0.Settings.2]
++String.2.0=
++String.6.0=2010,12,3,15,21,40
++String.100.0=STM8S903K3
++
++[Root.Config.0.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S903 -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.Config.0.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,15,21,40
++
++[Root.Config.0.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2010,12,3,15,21,40
++String.8.0=
++
++[Root.Config.0.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeInteger -fakeOutFile$(ProjectSFile).elf -fakeRunConv -fakeStartupcrtsi0.sm8 -fakeSemiAutoGen -fakeVectFilestm8_interrupt_vector.c -fakeVectAddr0x8000 -customMapFile -customMapFile-m$(OutputPath)$(TargetSName).map -customMapAddress -customCfgFile$(OutputPath)$(TargetSName).lkf
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=$(OutputPath)$(ProjectSFile).elf $(OutputPath)$(TargetSName).map
++String.6.0=2014,9,29,16,34,10
++String.100.0=
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0x1f80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x280 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0x100 -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0x9fff]=.const,.text
++String.103.1=Eeprom[0x4000-0x427f]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x1ff]=.data,.bss
++String.104.0=0x3ff
++String.105.0=libis0.sm8;libm0.sm8
++Int.0=0
++Int.1=0
++
++[Root.Config.0.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2010,12,3,15,21,40
++
++[Root.Config.0.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2010,12,3,15,21,40
++
++[Root.Config.1.Settings.0]
++String.6.0=2010,12,3,15,21,40
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM8 Cosmic
++String.100.3=ST7 Metrowerks V1.1
++String.100.4=Raisonance
++String.101.0=STM8 Cosmic
++String.102.0=C:\Program Files (x86)\COSMIC\CXSTM8
++String.103.0=
++String.104.0=Hstm8
++String.105.0=Lib
++String.106.0=Release
++String.107.0=stm8s903.elf
++Int.108=0
++
++[Root.Config.1.Settings.1]
++String.6.0=2010,12,3,15,21,40
++String.100.0=$(TargetFName)
++String.101.0=
++String.103.0=.\;..\..;..\..\..\..\libraries\stm8s_stdperiph_driver\src;
++
++[Root.Config.1.Settings.2]
++String.2.0=
++String.6.0=2010,12,3,15,21,40
++String.100.0=STM8S903K3
++
++[Root.Config.1.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,15,21,40
++
++[Root.Config.1.Settings.4]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,15,21,40
++
++[Root.Config.1.Settings.5]
++String.2.0=Running Pre-Link step
++String.6.0=2010,12,3,15,21,40
++
++[Root.Config.1.Settings.6]
++String.2.0=Running Linker
++String.3.0=clnk -fakeRunConv -fakeInteger -fakeSemiAutoGen $(ToolsetLibOpts) -o $(OutputPath)$(TargetSName).sm8 -fakeOutFile$(ProjectSFile).elf -customCfgFile $(OutputPath)$(TargetSName).lkf -fakeVectFilestm8_interrupt_vector.c -fakeStartupcrtsi0.sm8
++String.3.1=cvdwarf $(OutputPath)$(TargetSName).sm8 -fakeVectAddr0x8000
++String.4.0=$(OutputPath)$(TargetFName)
++String.5.0=$(OutputPath)$(TargetSName).map $(OutputPath)$(TargetSName).st7 $(OutputPath)$(TargetSName).s19
++String.6.0=2010,12,3,15,21,40
++String.101.0=crtsi.st7
++String.102.0=+seg .const -b 0x8080 -m 0x1f80 -n .const -it
++String.102.1=+seg .text -a .const -n .text
++String.102.2=+seg .eeprom -b 0x4000 -m 0x280 -n .eeprom
++String.102.3=+seg .bsct -b 0x0 -m 0x100 -n .bsct
++String.102.4=+seg .ubsct -a .bsct -n .ubsct
++String.102.5=+seg .bit -a .ubsct -n .bit -id
++String.102.6=+seg .share -a .bit -n .share -is
++String.102.7=+seg .data -b 0x100 -m 0x100 -n .data
++String.102.8=+seg .bss -a .data -n .bss
++String.103.0=Code,Constants[0x8080-0x9fff]=.const,.text
++String.103.1=Eeprom[0x4000-0x427f]=.eeprom
++String.103.2=Zero Page[0x0-0xff]=.bsct,.ubsct,.bit,.share
++String.103.3=Ram[0x100-0x1ff]=.data,.bss
++String.104.0=0x3ff
++Int.0=0
++Int.1=0
++
++[Root.Config.1.Settings.7]
++String.2.0=Running Post-Build step
++String.3.0=chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
++String.6.0=2010,12,3,15,21,40
++
++[Root.Config.1.Settings.8]
++String.2.0=Performing Custom Build on $(InputFile)
++String.6.0=2010,12,3,15,21,40
++
++[Root.Source Files]
++ElemType=Folder
++PathName=Source Files
++Child=Root.Source Files...\..\main.c
++Next=Root.StdPeriph_Drivers
++Config.0=Root.Source Files.Config.0
++Config.1=Root.Source Files.Config.1
++
++[Root.Source Files.Config.0]
++Settings.0.0=Root.Source Files.Config.0.Settings.0
++Settings.0.1=Root.Source Files.Config.0.Settings.1
++Settings.0.2=Root.Source Files.Config.0.Settings.2
++Settings.0.3=Root.Source Files.Config.0.Settings.3
++
++[Root.Source Files.Config.1]
++Settings.1.0=Root.Source Files.Config.1.Settings.0
++Settings.1.1=Root.Source Files.Config.1.Settings.1
++Settings.1.2=Root.Source Files.Config.1.Settings.2
++Settings.1.3=Root.Source Files.Config.1.Settings.3
++
++[Root.Source Files.Config.0.Settings.0]
++String.6.0=2010,12,3,15,21,40
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S903 -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.Source Files.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,15,21,40
++
++[Root.Source Files.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2010,12,3,15,21,40
++
++[Root.Source Files.Config.1.Settings.0]
++String.6.0=2010,12,3,15,21,40
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.Source Files.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,15,21,40
++
++[Root.Source Files.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,15,21,40
++
++[Root.Source Files.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2010,12,3,15,21,40
++
++[Root.Source Files...\..\main.c]
++ElemType=File
++PathName=..\..\main.c
++Next=Root.Source Files...\..\stm8s_it.c
++
++[Root.Source Files...\..\stm8s_it.c]
++ElemType=File
++PathName=..\..\stm8s_it.c
++Next=Root.Source Files.stm8_interrupt_vector.c
++
++[Root.Source Files.stm8_interrupt_vector.c]
++ElemType=File
++PathName=stm8_interrupt_vector.c
++
++[Root.StdPeriph_Drivers]
++ElemType=Folder
++PathName=StdPeriph_Drivers
++Child=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc1.c
++Config.0=Root.StdPeriph_Drivers.Config.0
++Config.1=Root.StdPeriph_Drivers.Config.1
++
++[Root.StdPeriph_Drivers.Config.0]
++Settings.0.0=Root.StdPeriph_Drivers.Config.0.Settings.0
++Settings.0.1=Root.StdPeriph_Drivers.Config.0.Settings.1
++Settings.0.2=Root.StdPeriph_Drivers.Config.0.Settings.2
++Settings.0.3=Root.StdPeriph_Drivers.Config.0.Settings.3
++
++[Root.StdPeriph_Drivers.Config.1]
++Settings.1.0=Root.StdPeriph_Drivers.Config.1.Settings.0
++Settings.1.1=Root.StdPeriph_Drivers.Config.1.Settings.1
++Settings.1.2=Root.StdPeriph_Drivers.Config.1.Settings.2
++Settings.1.3=Root.StdPeriph_Drivers.Config.1.Settings.3
++
++[Root.StdPeriph_Drivers.Config.0.Settings.0]
++String.6.0=2010,12,3,15,41,43
++String.8.0=Debug
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Drivers.Config.0.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customDebCompat -customOpt +compact +split -customC-pp -customLst -l -dSTM8S903 -i..\..\..\stm8s_stdperiph_template -i..\..\..\..\libraries\stm8s_stdperiph_driver\inc $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2011,11,16,18,52,35
++
++[Root.StdPeriph_Drivers.Config.0.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 -xx -l $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,15,21,40
++
++[Root.StdPeriph_Drivers.Config.0.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2010,12,3,15,21,40
++
++[Root.StdPeriph_Drivers.Config.1.Settings.0]
++String.6.0=2010,12,3,15,41,43
++String.8.0=Release
++Int.0=0
++Int.1=0
++
++[Root.StdPeriph_Drivers.Config.1.Settings.1]
++String.2.0=Compiling $(InputFile)...
++String.3.0=cxstm8 +mods0 -customC-pp $(ToolsetIncOpts) -cl$(IntermPath) -co$(IntermPath) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,15,21,40
++
++[Root.StdPeriph_Drivers.Config.1.Settings.2]
++String.2.0=Assembling $(InputFile)...
++String.3.0=castm8 $(ToolsetIncOpts) -o$(IntermPath)$(InputName).$(ObjectExt) $(InputFile)
++String.4.0=$(IntermPath)$(InputName).$(ObjectExt)
++String.5.0=$(IntermPath)$(InputName).ls
++String.6.0=2010,12,3,15,21,40
++
++[Root.StdPeriph_Drivers.Config.1.Settings.3]
++String.2.0=Performing Custom Build on $(InputFile)
++String.3.0=
++String.4.0=
++String.5.0=
++String.6.0=2010,12,3,15,21,40
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_adc1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_awu.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_beep.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_clk.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_exti.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_flash.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_gpio.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_i2c.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_itc.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_iwdg.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_rst.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_spi.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim5.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim5.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim5.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim6.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim6.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_tim6.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_uart1.c
++Next=Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
++
++[Root.StdPeriph_Drivers...\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c]
++ElemType=File
++PathName=..\..\..\..\libraries\stm8s_stdperiph_driver\src\stm8s_wwdg.c
+\ No newline at end of file
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Raisonance/Project.stw STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Raisonance/Project.stw
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Raisonance/Project.stw 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Raisonance/Project.stw 2014-10-21 18:31:54.000000000 +0200
+@@ -0,0 +1,56 @@
++; STMicroelectronics Workspace file
++
++[Version]
++Keyword=ST7Workspace-V0.7
++
++[Project0]
++Filename=stm8s208.stp
++Dependencies=
++
++[Project1]
++Filename=stm8s207.stp
++Dependencies=
++
++[Project2]
++Filename=stm8s105.stp
++Dependencies=
++
++[Project3]
++Filename=stm8s103.stp
++Dependencies=
++
++[Project4]
++Filename=stm8s903.stp
++Dependencies=
++
++[Project5]
++Filename=stm8af52ax.stp
++Dependencies=
++
++[Project6]
++Filename=stm8af62ax.stp
++Dependencies=
++
++[Project7]
++Filename=stm8af626x.stp
++Dependencies=
++
++[Project8]
++Filename=stm8s005.stp
++Dependencies=
++
++[Project9]
++Filename=stm8s003.stp
++Dependencies=
++
++[Project10]
++Filename=stm8s007.stp
++Dependencies=
++
++[Project11]
++Filename=stm8af622x.stp
++Dependencies=
++[Options]
++ActiveProject=stm8s208
++ActiveConfig=Debug
++AddSortedElements=0
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Raisonance/readme.txt STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Raisonance/readme.txt
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Raisonance/readme.txt 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Raisonance/readme.txt 2014-10-21 18:31:54.000000000 +0200
+@@ -0,0 +1,85 @@
++/** @page project_r Template project for ST Visual Develop (STVD) toolchain with Raisonance compiler
++
++ @verbatim
++ ******************* (C) COPYRIGHT 2011 STMicroelectronics ********************
++ * @file readme.txt
++ * @author MCD Application Team
++ * @version V2.1.0
++ * @date 18-November-2011
++ * @brief This sub-directory contains all the user-modifiable files needed
++ * to create a new project linked with the STM8S/A Standard Peripheral
++ * Library and working with STVD and Raisonance software toolchain.
++ ******************************************************************************
++ * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
++ * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
++ * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
++ * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
++ * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
++ * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
++ ******************************************************************************
++ @endverbatim
++
++ @par Project description
++
++ This folder contains a standard STVD template workspace that includes 11
++ projects related to the FW Lib supported products.
++ Each project includes all the user-modifiable files that are necessary
++ to create a new project.
++ This project templates can be used by mean of minor updates in the library files
++ to run the FWLib examples, or custom user applications.
++
++
++ @par Directories contents
++
++ - project\\template\\STVD\\Raisonnance
++ - project.stw Workspace file
++ - stm8s103.stp Project file for STM8S103 Low-density devices.
++ - stm8s003.stp Project file for STM8S003 Low-density devices.
++ - stm8s105.stp Project file for STM8S105 Medium-density devices.
++ - stm8s005.stp Project file for STM8S005 Medium-density devices.
++ - stm8s207.stp Project file for STM8S207 High-density devices.
++ - stm8s007.stp Project file for STM8S007 High-density devices.
++ - stm8s208.stp Project file for STM8S208 High-density devices.
++ - stm8s903.stp Project file for STM8S903 Low-density devices.
++ - stm8af52ax.stp Project file for STM8AF52Ax High-density devices.
++ - stm8af62ax.stp Project file for STM8AF62Ax High-density devices.
++ - stm8af626x.stp Project file for STM8A Medium-density devices.
++
++ @par How to use it ?
++
++ - Open the STVD workspace
++ - Set active the project related to the used product: Project -> Set Active Project,
++ and choose the desired project
++ - Select your debug instrument: Debug instrument -> Target Settings, select the
++ target you want to use for debug session (Swim Stice or Swim Rlink)
++ - Rebuild all files: Build-> Rebuild all.
++ - Load project image: Debug->Start Debugging
++ - Run program: Debug->Run (Ctrl+F5)
++
++ @b Tip: If it is your first time using STVD, you have to confirm the default
++ toolset and path information that will be used when building your application,
++ to do so:
++ - Select Tools-> Options
++ - In the Options window click on the Toolset tab
++ - Select your toolset from the Toolset list box.
++ If the path is incorrect you can type the correct path in the Root Path
++ field, or use the browse button to locate it.
++ - In the subpath fields, type the correct subpath if necessary
++
++ @note
++ - High-Density STM8A devices are the STM8AF52xx STM8AF6269/8x/Ax,
++ STM8AF51xx, and STM8AF6169/7x/8x/9x/Ax microcontrollers where the Flash memory
++ density ranges between 32 to 128 Kbytes
++ - Medium-Density STM8A devices are the STM8AF622x/4x, STM8AF6266/68,
++ STM8AF612x/4x, and STM8AF6166/68 microcontrollers where the Flash memory
++ density ranges between 8 to 32 Kbytes
++ - High-Density STM8S devices are the STM8S207xx, STM8S007 and STM8S208xx microcontrollers
++ where the Flash memory density ranges between 32 to 128 Kbytes.
++ - Medium-Density STM8S devices are the STM8S105x and STM8S005 microcontrollers
++ where the Flash memory density ranges between 16 to 32-Kbytes.
++ - Low-Density STM8S devices are the STM8S103xx, STM8S003 and STM8S903xx microcontrollers
++ where the Flash density is 8 Kbytes.
++
++ * <h3><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h3>
++ */
++
+diff -rupN STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Raisonance/stm8af52ax.stp STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Raisonance/stm8af52ax.stp
+--- STM8S_SPL_2.2.0/Project/STM8S_StdPeriph_test/STVD/Raisonance/stm8af52ax.stp 1970-01-01 01:00:00.000000000 +0100
++++ STM8S_SPL_2.2.0_SDCC/Project/STM8S_StdPeriph_test/STVD/Raisonance/stm8af52ax.stp 2014-10-21 18:31:54.000000000 +0200
+@@ -0,0 +1,521 @@
++; STMicroelectronics Project file
++
++[Version]
++Keyword=ST7Project
++Number=1.3
++
++[Project]
++Name=stm8af52ax
++Toolset=Raisonance
++
++[Config]
++0=Config.0
++1=Config.1
++
++[Config.0]
++ConfigName=Debug
++Target=$(ProjectSFile).elf
++OutputFolder=Debug
++Debug=$(TargetFName)
++
++[Config.1]
++ConfigName=Release
++Target=stm8af52ax.elf
++OutputFolder=Release
++Debug=$(TargetFName)
++
++[Root]
++ElemType=Project
++PathName=stm8af52ax
++Child=Root.STM8S_EVAL
++Config.0=Root.Config.0
++Config.1=Root.Config.1
++
++[Root.Config.0]
++Settings.0.0=Root.Config.0.Settings.0
++Settings.0.1=Root.Config.0.Settings.1
++Settings.0.2=Root.Config.0.Settings.2
++Settings.0.3=Root.Config.0.Settings.3
++Settings.0.4=Root.Config.0.Settings.4
++Settings.0.5=Root.Config.0.Settings.5
++Settings.0.6=Root.Config.0.Settings.6
++Settings.0.7=Root.Config.0.Settings.7
++Settings.0.8=Root.Config.0.Settings.8
++
++[Root.Config.1]
++Settings.1.0=Root.Config.1.Settings.0
++Settings.1.1=Root.Config.1.Settings.1
++Settings.1.2=Root.Config.1.Settings.2
++Settings.1.3=Root.Config.1.Settings.3
++Settings.1.4=Root.Config.1.Settings.4
++Settings.1.5=Root.Config.1.Settings.5
++Settings.1.6=Root.Config.1.Settings.6
++Settings.1.7=Root.Config.1.Settings.7
++Settings.1.8=Root.Config.1.Settings.8
++
++[Root.Config.0.Settings.0]
++String.6.0=2011,2,22,10,24,11
++String.100.0=ST Assembler Linker
++String.100.1=ST7 Cosmic
++String.100.2=STM7 Cosmic
++String.100.3=STM8 Cosmic
++String.100.4=ST7 Metrowerks V1.1
++String.100.5=Raisonance
++String.101.0=Raisonance
++String.102.0=C:\Raisonance\Ride
++String.103.0=bin
++String.104.0=INC\STM8;INC\ST7;INC
++String.105.0=LIB\ST7
++String.106.0=Debug
++String.107.0=$(ProjectSFile).elf
++Int.108=0
++
++[Root.Config.0.Settings.1]
++String.6.0=2011,2,21,15,26,40
++String.100.0=$(TargetFName)
++String.101.0=
++String.103.0=.\;..\..;..\..\..\..\libraries\stm8s_stdperiph_driver\src;..\..\..\..\utilities\stm8s_eval;
++
++[Root.Config.0.Settings.2]
++String.2.0=
++String.6.0=2011,2,21,15,26,40
++String.100.0=STM8AF52AA
++
++[Root.Config.0.Settings.3]
++String.2.0=Compiling $(InputFile)...
++String.3.0=rcstm8 $(InputFile) OBJECT($(IntermPath)$(InputName).$(ObjectExt)) $(ToolsetIncOpts) WRV(0) STM8(LARGE) DEBUG DGC(data) AUTO -customSizeOpt -CustomOptimOT(7,SIZE) -CustomBasicLstPR($(IntermPath)$(InputName).lst) CD CO SB LAOB PIN(..\..\..\stm8s_stdperiph_template) PIN(..\..\..\..\libraries\stm8s_stdperiph_driver\inc) PIN(..\..\..\..\utilities\stm8s_eval\common) PIN(..\..\..\..\utilities\stm8s_eval\stm8-128_eval) PIN(..\..\..\..\utilities\stm8s_eval) DF(STM8AF52Ax) DF(USE_STM8_128_EVAL)
++String.4.0=$(IntermPath)$(In