<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>WebHome/HerramientasProgramacion/GrabarARM</title><revhistory><revision><revnumber>37</revnumber><date>2011-05-18 18:28:48</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>36</revnumber><date>2011-05-18 18:28:32</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>35</revnumber><date>2011-05-18 18:23:22</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>34</revnumber><date>2010-11-29 13:09:04</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>33</revnumber><date>2010-11-29 13:08:07</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>32</revnumber><date>2010-11-29 13:07:22</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>31</revnumber><date>2010-11-29 13:00:41</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>30</revnumber><date>2010-10-12 23:40:27</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>29</revnumber><date>2010-10-12 23:39:15</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>28</revnumber><date>2010-10-12 23:38:14</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>27</revnumber><date>2010-09-28 18:58:51</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>26</revnumber><date>2010-09-28 18:58:30</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>25</revnumber><date>2010-09-28 18:56:05</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>24</revnumber><date>2010-09-28 18:55:06</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>23</revnumber><date>2010-09-28 18:54:18</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>22</revnumber><date>2010-09-28 18:54:02</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>21</revnumber><date>2010-09-28 18:53:36</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>20</revnumber><date>2010-09-28 18:52:19</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>19</revnumber><date>2010-09-28 18:51:46</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>18</revnumber><date>2010-09-28 18:51:24</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>17</revnumber><date>2010-09-28 18:50:46</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>16</revnumber><date>2010-09-28 18:06:25</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>15</revnumber><date>2010-09-28 18:06:01</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>14</revnumber><date>2010-09-28 18:02:04</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>13</revnumber><date>2010-09-28 18:01:31</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>12</revnumber><date>2010-09-28 18:00:45</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>11</revnumber><date>2010-09-28 18:00:11</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>10</revnumber><date>2010-09-28 17:58:36</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>9</revnumber><date>2010-09-28 17:46:49</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>8</revnumber><date>2010-09-28 17:46:22</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>7</revnumber><date>2010-09-09 14:08:45</date><authorinitials>GuillermoSteiner</authorinitials><revremark>Se cambia nombre desde &quot;HerramientasProgramacion/GrabarARM&quot;</revremark></revision><revision><revnumber>6</revnumber><date>2010-09-09 14:05:00</date><authorinitials>GuillermoSteiner</authorinitials><revremark>Se cambia nombre desde &quot;GrabarARM&quot;</revremark></revision><revision><revnumber>5</revnumber><date>2010-08-24 18:52:34</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>4</revnumber><date>2010-06-04 16:49:36</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>3</revnumber><date>2010-06-04 16:48:54</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>2</revnumber><date>2010-06-04 16:47:55</date><authorinitials>GuillermoSteiner</authorinitials></revision></revhistory></articleinfo><section><title>Programación de la Placa</title><para>El presente tutorial, permite conocer los pasos básicos para programas la placa ARM. </para><para>Los pasos podemos resumirlos en:  </para><orderedlist numeration="arabic"><listitem><para> Configurar la placa, esto es alimentar la placa y conectar el puerto serie de la misma a un puerto disponible en la PC estos pasos los podemos ver con mas detalle dependiendo de la versión que se dispone de la placa en: <ulink url="https://ciii.frc.utn.edu.ar/TecnicasDigitalesII/WebHome/HerramientasProgramacion/GrabarARM/TecnicasDigitalesII/WebHome/HerramientasProgramacion/PlacasARM#">Placas del Microcontrolador</ulink>   </para></listitem><listitem><para>Configuramos el microcontrolador a modo grabación, para esto se presiona el botón de programación o boot, mientras mantenemos este presionado, presionamos el botón reset, finalmente soltamos ambos.   </para></listitem><listitem><para>Grabamos el microcontrolador son el software correspondiente.    </para></listitem><listitem><para>Se presiona el botón de reset nuevamente para pasar a modo ejecución. </para></listitem></orderedlist><section><title>Cable serial</title><para>El armado del cable se realiza con un conector hembra DB9 y un conector tipo Housing Polarizado de 3 pines (HERE3POS/0.1) </para><informaltable><tgroup cols="3"><colspec colname="col_0"/><colspec colname="col_1"/><colspec colname="col_2"/><tbody><row rowsep="1"><entry colsep="1" rowsep="1"><para> <emphasis role="strong">Conector DB9</emphasis> </para></entry><entry colsep="1" rowsep="1"><para> <emphasis role="strong">Tipo Señal PC</emphasis> </para></entry><entry colsep="1" rowsep="1"><para> <emphasis role="strong">Tipo Señal Placa ARM</emphasis> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> 2                    </para></entry><entry colsep="1" rowsep="1"><para> RX Señal de Recepción </para></entry><entry colsep="1" rowsep="1"><para> TX Señal de Transmisión </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> 3                    </para></entry><entry colsep="1" rowsep="1"><para> TX Señal de Transmisión </para></entry><entry colsep="1" rowsep="1"><para> RX Señal de Recepción </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> 5                    </para></entry><entry colsep="1" rowsep="1"><para> GND </para></entry><entry colsep="1" rowsep="1"><para>GND </para></entry></row></tbody></tgroup></informaltable><itemizedlist><listitem override="none"><para><inlinemediaobject><imageobject><imagedata fileref="https://ciii.frc.utn.edu.ar/TecnicasDigitalesII/WebHome/HerramientasProgramacion/GrabarARM?action=AttachFile&amp;do=get&amp;target=cable.jpg" width="40%"/></imageobject><textobject><phrase>&quot;cable.jpg&quot;</phrase></textobject></inlinemediaobject> </para></listitem></itemizedlist><para>En la figura se muestra los conectores usados, se utilizará un cable de tres conductores, el cual, deberá unir a los conectores por medio de los pines de igual número. </para></section></section><section><title>Software para Grabar</title><para>Una vez obtenido el binario (.hex) de nuestra aplicación, deberemos transferir este archivo a la flash del microcontrolador por medio de una conexión serial, para esto utilizaremos: </para><para><ulink url="http://sourceforge.net/projects/lpc21isp">lpc21isp</ulink> </para><section><title>Instalación del lpc21isp</title><para>Esta herramienta viene incluida en Herramientas-ARM-xxx.run, de todas formas, si instalaron el GNUARM desde otra distribución a continuación se explica como instalar el grabador. </para><para>Este paquete, permite la programación serial del ARM, el soporte lo da un grupo de yahoo  <ulink url="http://tech.groups.yahoo.com/group/lpc21isp/"/> </para><para>Una vez bajado el paquete, se puede descomprimir en el mismo directorio de GNUARM, luego dentro del directorio creado, se compila mediante  </para><screen><![CDATA[$ make -f Makefile.gnu clean all]]></screen><para>El ejecutable se denomina lpc21isp, para permitir su uso desde cualquier proyecto, se puede: </para><itemizedlist><listitem><para>agregar al .bashrc la ruta de acceso  </para></listitem><listitem><para>usar la dirección completa  </para></listitem><listitem><para>copiar al directorio donde se encuentran los arm-elf-*, los cuales ya tienen una ruta de acceso asignada en el .bachrc </para></listitem></itemizedlist><para>Para nuestro caso la configuración de la lina de comandos para el grabador es la siguiente  </para><screen><![CDATA[lpc21isp -wipe -hex archivo.hex /dev/ttyS0 115200 14745]]></screen><para>Donde: </para><itemizedlist><listitem><para><emphasis role="strong">archivo.hex</emphasis> es el nombre del binario a grabar  </para></listitem><listitem><para><emphasis role="strong">/dev/ttyS0</emphasis> es el nombre del puerto serie con el cual nos comunicamos al microcontrolador. </para></listitem><listitem><para><emphasis role="strong">115200</emphasis> en la velocidad de grabación ( en baudios ). </para></listitem><listitem><para><emphasis role="strong">14745</emphasis> es el reloj que posee el microcontrolador ( en Khz). </para></listitem></itemizedlist></section></section></article>