Subversion Repositories svn.mios

Rev

Blame | Last modification | View Log | RSS feed

HEADER 3 MIOS Bootstrap Loader for Newbies

<h1>Cargador MIOS Bootstrap para novatos</h1>

<p class="INFO">El cargador MIOS Bootstrap es un firmware especial para
el&nbsp;PIC18F que te permite cargar MIOS (el sistema operativo) y una
aplicaci&oacute;n MIOS (el programa) en una memoria flash PIC, por
medio de la interfaz MIDI..</p>

<p class="DESC">La gran ventaja del m&eacute;todo "bootstrap" es que no necesitas un dispositivo programador como el <a href="mbhp_burner.html">MBHP_BURNER</a> para instalar el software en tu MIDIbox. En vez de eso, puedes comprar un PIC18F452 pre-programado de&nbsp;<a href="http://mbhp.avishowtech.com/buy.html" target="_blank">SmashTV</a> o <a href="http://www.mikes-elektronikseite.com/midiseite.htm" target="_blank">Mike</a>, o puedes pedirle a alg&uacute;n amigo o miembro del&nbsp;<a href="http://forum.midibox.org" target="_blank">Foro MIDIbox</a>, que tenga un programador PIC para meter el firmware en la PIC. ( puedes descargar la imagen de memoria de <span style="text-decoration: underline;"></span><a href="mios_download.html">esta p&aacute;gina</a>).</p>

<p class="DESC"> El cargador bootstrap tiene beneficios incluso para
aquellos que ya posean un programador flash, el uso es m&aacute;s
c&oacute;modo, es posible cargar nuevo c&oacute;digo al-vuelo sin
desconectar el PIC del m&oacute;dulo&nbsp; <a href="mbhp_core.html">MBHP_CORE</a> &iexcl;en s&oacute;lo unos pocos segundos!</p>

<p class="DESC"><b>Nota:</b> por favor, nunca intenteis cargar el
archivo .hex del Bootloader V1.2 v&iacute;a MIDI, hay algunos casos en los que
puede causar un da&ntilde;o permanente, y habr&iacute;a que reprogramar
el PIC. El archivo README.TXT &nbsp;en el paquete de carga describe
numerosos directorios de carga para el Bootloader V1.2, &iexcl;Por
favor, leedlo atentamente!</p>

<h2>Dos</h2>

<p class="DESC">De hecho, existen dos cargadores bootstrap, uno con una
funcionalidad muy b&aacute;sica, que se activa por ca. 2 segundos
despu&eacute;s de un encendido, y otro cargador secundario que es parte
del MIOS en s&iacute; mismo. El protocolo de comunicaci&oacute;n de
ambos cargadores es id&eacute;ntico, de manera que puedan usarse las
mismas herramientas.</p>

<p class="DESC">Es importante saber que MIOS en s&iacute; mismo
s&oacute;lo puede ser cargado con el cargador principal. Las
aplicaciones siempre se pueden cargar - si no, hay un error en la
aplicaci&oacute;n que previene esto, pero en este caso puedes limitarte
a usar el primer cargador para refrescar el c&oacute;digo en
condiciones de salvar (s&oacute;lo enciende/apaga el core o acciona el
reset externo inclinando la tierra hacia el pin #1 de la PIC).</p>

<h2>Cargando MIOS</h2>

<p class="DESC">Despu&eacute;s de haber programado el firmware de
bootstrap en el PIC, el core no har&aacute; tanto. Por ejemplo, la
pantalla LCD seguir&aacute; en blanco y aunque intentaras cargar una
aplicaci&oacute;n via MIDI, nada cambiar&iacute;a. Esto es porque a
MIOS le falta lo que provee todos los servicios b&aacute;sicos (por
ejemplo manejo de contenidos MIDI, escaneado de potes/botones/encoders,
salidas LED y LCD, etc) , as&iacute; que &iexcl;carguemos primero esta bonita
pieza de c&oacute;digo!</p>

<table align="center" cellpadding="0" cellspacing="20">

  <tbody><tr>
    <td><a href="http://miosstudio.midibox.org" target="_blank"><img src="images/midibox_logo.gif" alt="Link to MIOS Studio" width="160"></a></td>
    <td><img src="images/1x1dot.gif" alt="" width="10"></td>
    <td><span class="NORM"> <a href="http://miosstudio.midibox.org" target="_blank">Descarga MIOS Studio</a> - Es un medio basado en Java con herramientas MIOS espec&iacute;ficas que funciona en Pc y Mac.</span></td>
  </tr>

  <tr>
    <td><a href="http://java.sun.com" target="_blank"><img src="mios/mios_download_java.gif" alt="Link to java.sun.com" height="84" width="163"></a></td>
    <td><img src="images/1x1dot.gif" alt="" width="10"></td>
    <td><span class="NORM"> Descarga <a href="http://java.sun.com" target="_blank">Java Runtime Environment</a> para tu ordenador si no lo tienes instalado a&uacute;n.</span></td>
  </tr>

  <tr>
    <td>&nbsp;</td>
    <td><img src="images/1x1dot.gif" alt="" width="10"></td>
    <td><span class="NORM">&nbsp;Conexi&oacute;n cruzada de los puertos MIDI del m&oacute;dulo core con los puertos MIDI de tu ordenador
<ul class="CL">
  <li>MIDI In Core -&gt; MIDI Out PC/Mac</li>
  <li>MIDI Out Core -&gt; MIDI In PC/Mac</li>
</ul></span></td>
  </tr>

  <tr>
    <td><a href="mios/mios_studio1.gif"><img src="mios/mios_studio1_small.gif" alt="" height="128" width="160"></a></td>
    <td><img src="images/1x1dot.gif" alt="" width="10"></td>
    <td><span class="NORM">Abre
la ventana de MIDI Device Routing del MIOS Studio, Click derecho
sobre el puerto MIDI de entrada (in) &nbsp;de tu dispositivo y
enr&uacute;talo al "MIOS Studio In Port"</span></td>
  </tr>

  <tr>
    <td><a href="mios/mios_studio2.gif"><img src="mios/mios_studio2_small.gif" alt="" height="128" width="160"></a></td>
    <td><img src="images/1x1dot.gif" alt="" width="10"></td>
    <td><span class="NORM">Bot&oacute;n
derecho sobre el puerto MIDI Out del dispositivo MIDI, y
enr&uacute;talo al&nbsp; "MIOS Studio Out port". Ahora, las
herramientas del MIOS Studio pueden comunicarse con el core.</span></td>
  </tr>

  <tr>
    <td><a href="mios/mios_studio3.gif"><img src="mios/mios_studio3_small.gif" alt="" height="128" width="160"></a></td>
    <td><img src="images/1x1dot.gif" alt="" width="10"></td>
    <td><span class="NORM"></span>Abre
el monitor MIDI In - &eacute;ste probablemente mostrar&aacute;
&nbsp;mensajes repetitivos SysEx, que se recibir&aacute;n cada dos
segundos. Esto es una "petici&oacute;n de carga" del cargador bootstrap
primario. El cargador env&iacute;a su petici&oacute;n cada vez que
enciendes para decir "estoy despierto y funcionando". Una vez hayas
cargado MIOS, solo se mandar&aacute; una petici&oacute;n despu&eacute;s
del arranque. Esto indica que el sistema operativo est&aacute;
correctamente instalado</td>
  </tr>

  <tr>
    <td>&nbsp;</td>
    <td><img src="images/1x1dot.gif" alt="" width="10"></td>
    <td><span class="NORM">Si no puedes ver la petici&oacute;n de carga, lee <a href="howto_debug_midi.html">gu&iacute;a de soluci&oacute;n de problemas MIDI</a>, que contiene una colecci&oacute;n de los problemas m&aacute;s comunes.</span></td>
  </tr>

  <tr>
    <td><a href="mios/mios_studio4.gif"><img src="mios/mios_studio4_small.gif" alt="" height="128" width="160"></a></td>
    <td><img src="images/1x1dot.gif" alt="" width="10"></td>
    <td><span class="NORM">Suponiendo
que puedas ver el mensaje de petici&oacute;n, abre la ventana de carga
y selecciona la imagen de memoria (archivo .hex) de la
actualizaci&oacute;n m&aacute;s reciente de MIOS. Aunque esta captura
de pantalla muestre mios_v1_8.hex, &nbsp;puede que haya disponible
alguna versi&oacute;n m&aacute;s reciente en el momento. &iexcl;Por
favor,&nbsp;usad siempre la &uacute;ltima actualizaci&oacute;n de MIOS!
Puedes descargar tanto MIOS como las aplicaciones desde&nbsp;<a href="mios_download.html">esta p&aacute;gina</a>.</span></td>
  </tr>

</tbody></table>

<p class="DESC">Si no ha habido ning&uacute;n mensaje de error con la
herramienta de carga ( para asegurarte, ve hacia arriba en la ventana
de logs y chequea los mensajes de estado), puede decirse que MIOS
est&aacute; instalado. Despu&eacute;s del reinicio, s&oacute;lo
deber&iacute;as ver una petici&oacute;n de carga. Si hay una LCD
conectada al core, deber&iacute;a aparecer un mensaje de copyrigh, y un
tiempo despu&eacute;s,&nbsp;un READY ( preparado), deber&iacute;a
aparecer en la pantalla.</p>

<h2>Cargando una aplicaci&oacute;n</h2>

<p class="DESC">&nbsp;Ahora ya puedes cargar una aplicaci&oacute;n,
mientras MIOS est&aacute; funcionando. Puedes cambiar la
aplicaci&oacute;n cada vez que quieras; el sistema siempre se
reiniciar&aacute; despu&eacute;s de cargarla (no es un error), para que
la aplicaci&oacute;n pueda ser inicializada correctamente. Date cuenta
de que no es posible arrancar m&uacute;ltiples aplicaciones en
paralelo- La nueva aplicaci&oacute;n siempre sobreescribir&aacute; la
antigua.</p>

<table align="center" cellpadding="0" cellspacing="20">

  <tbody><tr>
    <td><a href="mios/mios_studio6.gif"><img src="mios/mios_studio6_small.gif" alt="" height="128" width="160"></a></td>
    <td><img src="images/1x1dot.gif" alt="" width="10"></td>
    <td><span class="NORM">&nbsp;En
este ejemplo, s&oacute;lo se carga el archivo&nbsp;main.hex de MIDImon.
El LCD mostrar&aacute; todos los eventos MIDI- Es estupendo para
corregir instrumentos MIDI sin un ordenador.</span></td>
  </tr>

</tbody></table>

<p class="DESC">Con la aplicaci&oacute;n MIDImon nos encontramos con
una nueva tarea: &iexcl;la configuraci&oacute;n de hardware! &nbsp;La
aplicaci&oacute;n no puede determinar &nbsp;qu&eacute; LCD est&aacute;
conectada al core. Por defecto est&aacute; configurada &nbsp;para LCDs
grandes de 4x20, si solo se le conecta un LCD de 2x16, algunas partes
del trazado de los mensajes no ser&aacute;n visibles. En cualquier
caso, el programador que hizo esta aplicaci&oacute;n fue tan simp&aacute;tico como para integrar algunas opciones de
hardware en el programa. Estas opciones pueden ser encontradas, en su
mayor parte, en el archivo main.asm de aplicaciones basadas en ensamblaje, y en
el archivo main.h &nbsp;de aplicaciones basadas en C ( A veces
tambi&eacute;n hay un archivo README.txt que da una vista
b&aacute;sica). <a href="howto_tools_mpasm.html">Este HowTo</a> describe el procedimiento necesario para editar el c&oacute;digo y constru&iacute;r un nuevo archivo .hex.</p>

<h2>Claves adicionales</h2>

<p class="DESC">
</p><ul class="CL">
  <li>Si cargas una aplicaci&oacute;n que
reacciona en las l&iacute;neas de entrada anal&oacute;gicas del PIC o
de un m&oacute;dulo AIN (por ej. <a href="midibox64.html">MIDIbox64</a> o <a href="midibox_lc.html">MIDIbox LC</a>),
El core probablemente env&iacute;e un mont&oacute;n de eventos MIDI
aleatorios, como si no hubiera potes/faders u otras fuentes de voltaje
conectadas a las entradas anal&oacute;gicas- por ello todos los inputs
anal&oacute;gicos no usados deber&iacute;an estar siempre conectados a
tierra (?&iquest;).Por favor, sigue este  <a href="mbhp/auaimbctg.pdf">diagrama de cableado</a> para entenderlo mejor.</li>
  <li>Si
conectas m&uacute;ltiples cores, en paralelo o en cadena, a un solo
puerto MIDI, cada core deber&iacute;a tener una ID &uacute;nica de
dispositivo, para que la herramienta de carga pueda direccionar el
c&oacute;digo hacia el receptor correcto. La ID de dispositivo es parte
del encabezamiento ID, que solo puede ser modificado durante la
programaci&oacute;n flash del cargador bootstrap, o con la
aplicaci&oacute;n de <a href="mios_download.html">cambiar_id</a>&nbsp;.<br>
La ID de dispositivo seleccionada en la ventana de carga debe coincidir
con la ID de dispositivo del core que debe responder a la
transferencia. Mientras tengas conectada solo una MIDIbox al puerto
MIDI, es seguro usar la ID de dispositivo 00. Un proyecto que requieran
diferentes IDs para diferentes dispositivos, es el&nbsp;MIDIbox SID (el
master tiene la ID 00, los esclavos las&nbsp;IDs 01, 02 y 03)</li>
  <li>Los
usuarios de MIDIbox SID notar&aacute;n especialmente este problema, las
salidas MIDI de los esclavos no est&aacute;n conectadas al PC ( solo el
MIDI Out del core master). De manera que la herramienta de carga de
MIOS studio no continuar&aacute; despu&eacute;s de que el primer bloque
de c&oacute;digo haya sido transferido, porque no obtiene respuesta.
&nbsp;Hay dos soluciones para superar esto:
  <ul class="CL">
    </ul><ul class="CL"><li><b>El m&eacute;todo para novatos :</b>
Enchufa el PIC esclavo al enchufe del core master y progr&aacute;malo
de la misma manera que lo has hecho con el PIC master. Las
&uacute;nicas diferencias: tienes que elegir otro archivo .hex y
necesitas cambiar la ID de dispositivo. Esto tiene una ventaja, que
puedes asegurar que el software se instala correctamente teniendo como
referencia el master core/SID.</li>
    <li><b>El m&eacute;todo para expertos:</b>
Selecciona la opci&oacute;n de "Don't use feedback from core" (no usar
regeneraci&oacute;n desde el core) en la ventana de carga de MIOS
Studio, aseg&uacute;rate de que has cargado el archivo .hex apropiado y
que has seleccionado la ID de dispositivo correcta. Habilita la
fusi&oacute;n MIDI del master presionando el bot&oacute;n de enlace en
la superficie de control (si no lo has constru&iacute;do a&uacute;n,
deber&iacute;as usar el m&eacute;todo para novatos) y presiona el
bot&oacute;n de arranque (start)- El MIOS Studio mandar&aacute; todos
los bloques de c&oacute;digo sin esperar respuesta. Este m&eacute;todo
es f&aacute;cil de usar , pero tambi&eacute;n peligroso si el bloque de
c&oacute;digo no ha sido correctamente recibido.(por ejemplo en una
conexi&oacute;n MIDI inestable), porque no te dar&aacute; ninguna
notificaci&oacute;n. Por esto, en cuanto sea posible una
conexi&oacute;n bi-direccional, selecciona la opci&oacute;n "Use
feedback from core" ( usar
regeneraci&oacute;n desde el core).</li>
  </ul></li>
  <li>Si el MIOS Studio no
funciona en tu ordenador por alg&uacute;n motivo, puedes usar el script
hex2syx para cargar el c&oacute;digo con un monitor MIDI com&uacute;n.
M&aacute;s informaciones en&nbsp;<a href="howto_tools_hex2syx.html">esta p&aacute;gina.</a></li></ul>FOOTER
</body></html>

FOOTER