<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.20" xml:lang="en-US">
  <compounddef id="group__avr__signature" kind="group">
    <compoundname>avr_signature</compoundname>
    <title>&lt;avr/signature.h&gt;: Signature Support</title>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
<para><simplesect kind="par"><title>Introduction</title><para></para>
</simplesect>
The &lt;<ref refid="signature_8h" kindref="compound">avr/signature.h</ref>&gt; header file allows the user to automatically and easily include the device&apos;s signature data in a special section of the final linked ELF file.</para>
<para>This value can then be used by programming software to compare the on-device signature with the signature recorded in the ELF file to look for a match before programming the device.</para>
<para><simplesect kind="par"><title>API Usage Example</title><para></para>
</simplesect>
Usage is very simple; just include the header file:</para>
<para><programlisting><codeline><highlight class="normal">#include<sp/>&lt;avr/signature.h&gt;</highlight></codeline>
</programlisting></para>
<para>This will declare a constant unsigned char array and it is initialized with the three signature bytes, MSB first, that are defined in the device I/O header file. This array is then placed in the .signature section in the resulting linked ELF file.</para>
<para>The three signature bytes that are used to initialize the array are these defined macros in the device I/O header file, from MSB to LSB: SIGNATURE_2, SIGNATURE_1, SIGNATURE_0.</para>
<para>This header file should only be included once in an application. </para>
    </detaileddescription>
  </compounddef>
</doxygen>
