Está en la página 1de 22

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.

AN73503
HID USB cargador de arranque para PSoC 3 y PSoC 5LP

Autor: Robert Murphy, Keith Mikoleit Proyecto asociado: S Familia pieza asociada: PSoC3 y PSoC 5LP Versin de software: PSoC Creator 2.1 SP1 Notas de aplicacin relacionada: Recursos relacionados Si usted tiene alguna pregunta o necesita ayuda con esta nota de aplicacin, pngase en contacto con el autor en Keith.Mikoleit@cypress.com

AN73503 describe cmo implementar un bootloader USB para PSoC 3 y PSoC 5LP dispositivos usando el USB Clase de dispositivo de interfaz (HID) humano. Tambin muestra cmo construir un programa host USB basado en Windows. Un PSoC Proyecto creador y un programa de acogida de ejemplo estn incluidos.

Contenido
Introduction .......................................................................1 Trminos y definiciones......................................................2 Utilizando un gestor de arranque.......................................2 La funcin del gestor de arranque flujo..............................2 Consideraciones Bootloader USB......................................3 Example Projects ..............................................................3 Proyecto 1: Bootloader USB...............................................3 Proyecto 2: Bootloadable (aplicacin)................................8 PSoC creador Bootloader Host.........................................1 Construir un Host Bootloader...........................................12 Summary .........................................................................15 Recurso relacionados.....................................................16 Appendix A......................................................................17 USBFS configuracin HID............................................7 Las ventas mundiales y diseo de apoyo........................22

Introduccin
Gestores de arranque son una parte comn de diseo del sistema de MCU. A bootloader hace posible para el firmware de un producto ser actualizado en el campo. En la fbrica, programacin de inicial firmware en un producto tpicamente se realiza a travs de la Grupo de accin conjunta prueba (JTAG) o cable Serial de MCU Interfaz de depurador (SWD). Sin embargo, estas interfaces son generalmente no est disponible en el campo. Aqu es donde entra bootloading. Bootloading es un proceso que permite actualizar el firmware del sistema sobre un interfaz de comunicacin estndar como USB o I2C. Un gestor de arranque se comunica con un host para conseguir nuevos Cdigo de la aplicacin o datos y lo escribe en el dispositivo memoria Flash. En esta nota de aplicacin usted aprender cmo:

Agregue un bootloader USB al PSoC 3 o PSoC 5LP Preparar un proyecto de aplicacin para bootloading Utilizar el programa de acogida bootloader provisto de PSoC Creador Crear tu propio host bootloader basados en Windows programa

Esta nota de aplicacin asume que ests familiarizado con PSoC y el creador de PSoC IDE. Si usted es nuevo en PSoC 3 o PSoC 5LP, introducciones pueden encontrarse en AN54181, Getting Started with PSoC 3 y AN77759, Empezando con PSoC 5LP. Si usted es nuevo al PSoC Creador, consulte la pgina de inicio de PSoC creador. Esta nota de aplicacin tambin se supone que est familiarizado con los conceptos del gestor de arranque. Si eres nuevo en esto

www.Cypress.com

Documento no. 001-73503 Rev. * C

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.

HID USB cargador de arranque para PSoC 3 y PSoC 5 conceptos, ver AN73854, Gestores de arranque. PSoC Introduccin Para

Flujo de la funcin del gestor de arranque


Un gestor de arranque normalmente se ejecuta primero en reset. Puede entonces Realice las siguientes acciones: Comprobar validez de la aplicacin antes de dejarlo correr Administrar el tiempo para empezar la comunicacin host Hacer el bootload / operacin de actualizacin de flash Y finalmente, pase el control a la aplicacin

Por ltimo, esta nota de aplicacin asume que ests familiarizado con el USB. Si usted es nuevo en USB o la clase USB HID, ver AN57294, 101 USB: An Introduction to Universal Serial Autobs2.0 o AN57473, PSoC USB HID Fundamentos.

Trminos y definiciones
La figura 1 muestra que firmware embebido de un producto debe ser capaz de utilizar el puerto de comunicacin para dos diferentes propsitos: el funcionamiento normal y la actualizacin de flash. Que porcin del firmware embebido que sabe cmo actualizacin del flash se llama un gestor de arranque. Figura 1. Sistema gestor de arranque Blanco
MCU Flash Memoria Aplicacin Bootloader

Figura 2 es un diagrama de flujo que muestra cmo funciona esto. Figura 2. Flujograma de proceso bootload

RESET

Comunicacin
Canal

Host Gestor de arranque vlido en flash?

NO

Detener la ejecucin

Aplicacin Archivo

Normalmente, el sistema que proporciona los datos para actualizar la Flash se llama el anfitrin, y el sistema est siendo actualizado se llama el objetivo. El host puede ser un PC externo o MCU otro en el mismo PCB como destino. El acto de transferencia de datos desde el host al objetivo Flash se llama bootloading, o una operacin bootload, o Slo bootload para abreviar. Los datos que se coloca en flash se llama la aplicacin o bootloadable. Otro trmino comn para bootloading es en el sistema programacin (ISP). Cypress tiene un producto con una similar nombre llamado programador Serial en el sistema (PIAS) y un operacin llamado Host origen Serial Programacin (HSSP). Para obtener ms informacin, vea AN73054, PSoC Programacin mediante un microcontrolador externo (HSSP). Utilizando un gestor de arranque Un puerto de comunicaciones del gestor de arranque es generalmente compartido entre el gestor de arranque y la aplicacin real. El primer paso para usar un gestor de arranque es para manipular el producto para que el gestor de arranque y no la aplicacin, es ejecutando. Una vez que se ejecuta el gestor de arranque, el host puede enviar un "arranque comando bootload"sobre el canal de comunicacin. If el gestor de arranque enva una respuesta "OK", puede bootloading comienzan. Durante el bootloading, el host Lee el archivo para el nuevo aplicacin, analiza en comandos de escritura de flash, y enva los comandos para el gestor de arranque. Despus de todo el se enva el archivo, el gestor de arranque puede pasar el control a la nueva aplicacin.

Aplicacin vlido en flash?

No

Esperar a que nueva aplicacin de host?

No

S Esperar para siempre?

No Comunicaciones de host. Inicio? S Recibir nuevos aplicacin de host, instalar en flash, sobrescribir existentes aplicacin

No

S Comunicaciones de host. Inicio? No

Tiempo de espera?
No

Ir a la aplicacin

www.Cypress.com Documento no. 001-73503 Rev. * C Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.
HID USB cargador de arranque para PSoC 3 y PSoC 5

Consideraciones Bootloader USB


Hay varios elementos a considerar cuando se utiliza un USB Puerto como interfaz de comunicacin en un gestor de arranque. El Clase USB HID da la ventaja de no necesitar un conductor, y el dispositivo puede funcionar con cualquier sistema operativo del host. Tenga en cuenta que el cargador de arranque espera una limitada cantidad de tiempo antes de pasar el control a la aplicacin, y dispositivos USB Tmese tiempo para enumerar. Si USB enumeracin lleva demasiado tiempo, el anfitrin puede pasar por alto la oportunidad de iniciar una operacin bootload despus de restablecer. Una vez que la aplicacin est en control, hay un par de formas de pasar el control hacia el gestor de arranque. a) Bootloadable API El componente bootloadable tiene una funcin de la API para iniciar el gestor de arranque: Bootloadable_Load(). Esto permite la aplicacin para pasar el control hacia el gestor de arranque basado en un comando o algn usuario de entrada. Se trata de un gran manera de permitir que un usuario final iniciar un firmware actualizacin para el dispositivo. El problema con este mtodo es que ahora dependiente en el cdigo de la aplicacin para realizar un actualizacin de la aplicacin. Qu pasa si la aplicacin tiene un error que no permite carga exitosa de la bootloader? Para asegurar la capacidad de actualizar y corregir firmware, es una buena idea poner en un mtodo de prueba de fallos de iniciar el gestor de arranque en el proyecto del gestor de arranque. b)

Proyectos de ejemplo
Las siguientes secciones muestran los pasos para crear PSoC Creador del gestor de arranque y bootloadable proyectos. Ellos tambin muestra cmo crear y utilizar su propio basado en Windows bootloader programa host mediante la programacin de C# idioma. Los proyectos pueden usarse con theCY8CKIT-001 kit de desarrollo, o la CY8CKIT-030 o CY8CKIT-050 kits.

Proyecto 1: USB cargador de arranque


Crear el proyecto

Para empezar, tenemos que crear el proyecto de gestor de arranque del ncleo. Crear un nuevo proyecto de PSoC creador y asgnele un nombre como "USB_Bootloader". Seleccione el vaco PSoC 3 Plantilla de diseo. Crear un nuevo espacio de trabajo para este proyecto. Haga clic en el botn "+" junto a "Avanzado" para ampliar la Opciones de configuracin y seleccione el tipo de aplicacin, como La figura 3 muestra. Figura 3. Nueva creacin de proyectos

Lanzamiento del gestor de arranque en el inicio con una espera infinita Ahora que tenemos nuestro proyecto necesitamos aadir componentes perodo el Para abordar cuestiones tales como las aplicaciones corruptas o a nuestro esquema. Aadir USBFS, gestor de arranque, el carcter

tiempos de larga enumeracin con un bootloader USB, nos LCD y componentes Pin Digital para el esquema. puede agregar una forma de iniciar el bootloader y permanecer en el Cambiar el nombre de los componentes segn la tabla 1. Gestor de arranque hasta que se recibe una orden. Podemos Tabla 1. Nombres de componentes del gestor de arranque proyecto personalizar del gestor el de arranque para comprobar algunos entrada d usuario antes de llamar a Bootloader_Start() y corriendo a travs de su L rutina normal. Consulte el seccin Firmware bootloader para ms informacin.
Componente USBFS Nombre USBFS

Gestor de arranque BL PIN Caracteres LCD Wait_Forever LCD_BL

El siguiente paso es configurar estos componentes.

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.

www.Cypress.com

Documento no. 001-73503 Rev. * C

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.
HID USB cargador de arranque para PSoC 3 y PSoC 5 Configurar el componente del gestor de arranque Haga doble clic en el componente del gestor de arranque para abrir el Asistente de configuracin. Configurar el componente de comunicacin para USBFS_1, como se muestra en figura 4. Esto dice creador de PSoC para generar las funciones necesarias para el gestor de arranque para interfaz con el USB. Configurar el componente USB

Ahora necesitamos configurar el componente U apoyar la comunicacin del gestor de arranque. Recuerde que Nota de aplicacin utiliza la clase USB HID para evitar la necesida los archivos de controlador suministrado externamente. Para comenzar a configu Componente USBFS, haga doble clic en l. Utilice la opcin de configuracin de insertar en el dispositivo Ficha del descriptor para importar la configuracin USB para el Gestor de arranque, figura5 muestra. La completa USB configuracin para el gestor de arranque se guarda como un archivo xml y se incluye con PSoC creador. Bootloader.root.XML es ubicado en el directorio: <PSoC creator="" installdir="">\psoc\content\</PSoC> cycomponentlibrary\CyComponentLibrary.cylib\ USBFS_v2_40\Custom\template\ Si no ves la plantilla del gestor de arranque, ajustar el archivo filtro de tipo en el cuadro de dilogo a todos los archivos .xml. Figura 5. Inserte el USB configuracin

Figura 4. Componente bootloader Customizer

Tomemos un momento para revisar la "espera de comando" ajustes, descritos en detalle a continuacin. Estos ajustes son particularmente importante para los gestores de arranque USB porque nos necesidad de considerar el tiempo de enumeracin. Para obtener informacin sobre la resto de la configuracin del gestor de arranque se refieren al gestor de arranque hoja de datos del componente. Espera de comando: Restabl, el gestor de arranque puede esperar a un comando desde el gestor de arranque, o saltar al cdigo de la aplicacin inmediatamente. Si esta opcin est habilitada, el gestor de arranque esperar un comando desde el host hasta el perodo de tiempo de espera especificado por Parmetro de "Esperar el tiempo de comando". Si el gestor de arranque No recibe un comando desde el host dentro de este intervalo de tiempo de espera, el proyecto activo bootloadable en la Flash se Despus de que el archivo xml es importado, creador de PSoC configura el ejecuta despus del tiempo de espera. Descriptores USB automticamente. Consulte el Apndice A para USB detalles de configuracin. Comando tiempo espera: Si el cargador de arranque es esperar para el comando para iniciar una nueva Bootloadable de carga aplicacin, esto es la cantidad de tiempo de espera antes de a partir de la aplicacin existente Bootloadable. Esto opcin es vlida slo si esperar a que se activa el comando. El valor cero se interpreta como esperar para siempre. El El valor predeterminado es un tiempo de espera 2 segundos.

www.Cypress.com

Documento no. 001-73503 Rev. * C

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.

HID USB cargador de arranque para PSoC 3 y PSoC 5 Configurar la entrada de Pin Como se mencion anteriormente, es una buena idea para proporcionar opcin puerta trasera para iniciar el bootloader. Una manera de hacer esto es para comprobar el estado de un pin en el arranque. Esto funciona muy bien Si la aplicacin final ya tiene algn tipo de usuario interfaz como un interruptor. Podemos asignar un pin de entrada en el proyecto del gestor de arranque con el mismo conector fsico que utilizare en el proyecto bootloadable. Incluso podemos utilizar el mismo perno de nombre, como el gestor de arranque y bootloadable configuraciones nicas. Aqu configuramos un pin de entrada digital. Ms tarde, en el Seccin de firmware, vamos a discutir cmo utilizar este pin como un opcin de puerta trasera. Establezca el modo de disco de este pin en pull-up resistiva y la inicial en estado alto (1), como muestra la figura 6. Deseleccione la Configuracin de conexin hardware bajo la ficha tipo as. Figura 6. Configuracin de pines Coloque los pernos y configurar relojes unAhora que todos los componentes estn configurados, debemos configurar los sincronizacin de los recursos y colocar las clavijas. En la ventana del explorador de rea de trabajo, localice y dobleHaga clic en USB_Bootloader.cydwr.La pestaa seleccin de Pin Tenga en cuenta que son las lneas USB ingles y D-datos mosaparece. asigna automticamente por PSoC creador. Asignar el componente pin Wait_Forever a un pin fsico en el dispositivo basado en el kit est utilizando: un) Si usted est usando un CY8CKIT-001, asignar el pasador para P0 [7]. b) Si usted est utilizando el CY8CKIT-030 o CY8CKIT-050, asignar el Pin a P6 [1].

Los pines del LCD pueden asignarse a Port2 [6:0]. Esto funciona para todos los kits de PSoC. A continuacin haga clic en la ficha de relojes y haga doble clic en uno de los relojes para abrir al asistente de configuracin. Si utiliza un 3 PSoC o dispositivo 5LP PSoC, ajustar la configuracin del reloj para que coincida con Figura 7 en la pgina 6. La OIT debe establecerse a 100 kHz y el reloj USB debe establecerse a 48 MHz.

www.Cypress.com Documento no. 001-73503 Rev. * C Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.
HID USB cargador de arranque para PSoC 3 y PSoC 5

Figura 7. PSoC 3 / Configuracin del PSoC 5LP

PSoC 5 dispositivos requieren un cristal externo de 24 MHz (XTAL) para cumplir los requisitos de precisin de reloj USB. Para un PSoC 5 dispositivo, ajustar los parmetros para la fuente de la OMI desde el XTAL externo, como muestra la figura 8. Figura 8. PSoC 5 configuracin de reloj

OMI debe ser originario de fuente externa de reloj

ILO debe Reloj USB debe establecerse en ser 48 MHz 100 kHz
www.Cypress.com
Documento no. 001-73503 Rev. * C

Autobs reloj debe ser 33 MHz o mayor


6

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.
HID USB cargador de arranque para PSoC 3 y PSoC 5

Firmware
Despus se configuran todos los elementos de hardware en PSoC creador, el siguiente paso es aadir firmware para controlar la operacin del cargador de arranque. Cdigo 1 presenta el firmware de main.c del proyecto asociado del gestor de arranque, con los comentarios eliminado. Cdigo 1. Bootloader main.c void main() { LCD_BL_Start(); LCD_BL_PrintString("bootloader"); LCD_BL_Position (1, 0); if((Wait_Forever_Read() == 0) || (BL_GET_RUN_TYPE == BL_START_BTLDR)) { BL_SET_RUN_TYPE(BL_START_BTLDR); LCD_BL_PrintString ("espera para iniciar"); } CyBtldr_Start(); for(;;) { / * Coloque aqu su cdigo de aplicacin. */ }

Lo primero que hacemos en el gestor de arranque es poner en marcha la pantalla Comprobamos LCD el bootloader correr tipo utilizando los siguientes y mostrar la palabra Bootloader en la fila superior. Esto macro: indica que el cargador de arranque est actualmente en control. Bootloader_GET_RUN_TYPE A continuacin, comprobamos el estado del pin Wait_Forever y la Y podemos configurar el gestor de arranque tipo con ejecutar: booloader ejecutar tipo. El tipo de ejecucin dice el bootloader a esperar indefinidamente o despus del tiempo de espera pasar el control a Bootloader_SET_RUN_TYPE la aplicacin. Si el tipo de funcionamiento es BL_START_BTLDR, entonces Tenga en cuenta macros estos asumir que el Gestor de arranque espera indefinidamente. Cuando se invoca el proyecto bootloadable componente se denomina "Bootloader". el gestor de arranque es el gestor de arranque tipo empieza a correr Gestor de arranque. Si el interruptor se lleva a cabo bajo (iniciado por el usuario) o si el funcionamien Ya est establecido en BL_START_BTLDR (bootloadable Si el pin se mantiene bajo en el inicio, sabemos que el usuario Iniciado), disponemos de Wait para Start en el LCD y el conjunto quiere esperar una eternidad para iniciar un bootload y no pasar el tipo de ejecucin BL_START_BTLDR. De lo contrario el control de la aplicacin. En este ejemplo puedes hacerlo cargador de arranque espera slo 2 segundos antes de control pasa a pulsado SW2 en el tablero de juego al mismo tiempo restablecer el la aplicacin. PSoC. La ltima cosa que hacemos en main.c es llamada CyBtldr_Start(). Nos No devuelva de esta funcin. Esta funcin tampoco veces hacia fuera o completa una operacin de bootload. En cualquier caso el bootloader define el tipo de ejecucin de BL_START_APP y emite un software reset para pasar el control de la bootloadable cdigo.

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.

www.Cypress.com

Documento no. 001-73503 Rev. * C

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.
HID USB cargador de arranque para PSoC 3 y PSoC 5

Proyecto 2: Bootloadable (aplicacin)


Crear el proyecto

h un v En este ejemplo, construimos un proyecto sencillo que muestra la mensaje de " Bootloaded!" en la pantalla LCD de caracteres. Cuando usted e pulsar un interruptor, el dispositivo entra en el gestor de arranque y espera t o para una nueva imagen de bootloadable. b Crear un nuevo proyecto de tipo Bootloadable, como figura 9 e muestra. Nombre del proyecto Bootloadable. Agregar este proyecto a el mismo espacio de trabajo como el proyecto del gestor de arranque para un mejor el 1 organizacin. Figura 9. Creacin del proyecto Bootloadable

caso: gestores de arranque y bootloadables pueden existir por separado espacios de trabajo y lugares diferentes en tu PC. Antes de llegar

comenz con PSoC, es una buena idea a funcionar un wor


Para este proyecto necesitamos el Bootloadable, interrumpir el Pin, y componentes de LCD. Aadir estos componentes a su diagrama esquemtico. Nombrar los componentes segn la tabla 2. La tabla 2. Nombres de componentes Bootloadable
Componente Bootloadable PIN Interrupcin Caracteres LCD Nombre Bootloadable Pin_StartBootloader Isr_EnterBootloader LCD

proyectos plan para las necesidades de su desarrollo general del sistema. Configurar el componente Bootloadable Un proyecto de bootloadable siempre est vinculado al hexagonal de salida archivo de un proyecto de gestor de arranque asociados. Para vincular el

proyectos Archivo haciendo de arranque clicproyecto en la pestaa HEX de de las dependencias dependencias y como navegue hasta La figura 10 muestra. El archivo hexadecimal puede encontrarse en el siguiendo la ruta de acceso relativa:

USB_Keil_903\Debug. Bootloader\USB_Bootloader.cydsn\DP8051\DP8051 Figura Para 10. Configuracin obtener Opciones informacin consulte deLCD, componentes sobre la ISR hoja yel entrada de resto En datos Bootloadable primer del de del Person Pin lugar comp archivo de recursos amplio diseo (.cydwr). Al configurar el Pin y el servicio de interrupcin asociada rutina, 1. como figura 11 13 en Mostrar pgina 9. Establecer el modo de la impulsin del componente Pin resistiva

dominadas Flanco con descendente. agarre pronado y conjunto el Pin Puerto interrupcin 2. Conectar un ISR

Un espacio de trabajo PSoC Creador puede tener mltiples proyectos. En muchos casos, existe un proyecto de gestor de arranque en el mismo espacio de trabajo como su bootloadables asociados. Sin embargo, hacer esto e s n

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.

www.Cypress.com

Documento no. 001-73503 Rev. * C

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.
HID USB cargador de arranque para PSoC 3 y PSoC 5

Figura 11. Modo configuracin de pines Drive

Firmware
Agregue el cdigo siguiente a main.c, como muestra el cdigo 2: Cdigo 2. Bootloadable main.c Uint8 bootload_flag = 0; void main() { / * Cdigo Iinitialization/arranque aqu * / LCD_Start(); LCD_PrintString ("Bootloaded."); LCD_Position(1,0); LCD_PrintString ("SW2 escriba Btldr"); / * Habilitar interrupciones * / isr_EnterBootloader_Start(); CYGlobalIntEnable; for(;;) { / * Establecer cuando es in_StartBootloader Pulsa * / if(bootload_flag) { / * Ingresar Bootloader * / Bootloadable_Load(); } }

Figura 12. Configuracin de interrupcin de PIN

Los mensajes "Bootloaded!" y "SW2 entrar Btldr" Visualiza en la pantalla despus de que el gestor de arranque pasa control para la aplicacin.

Figura 13. Asignacin y colocacin de perno

La bandera bootload entonces se comprueba continuamente. Si la bandera se establece, se llama a Bootloadable_Load() para invocar la funcin el gestor de arranque. Como hemos comentado anteriormente, esta funcin ajust flash variable para indicar el tipo de ejecucin para el gestor de arranque, y luego se ejecuta un software reset para pasar el control a la Gestor de arranque.

A continuacin, genere el proyecto para generar el componente de interrupcin Archivos de API. Entonces en el conjunto de rutina de servicio de interrupcin del variable 'bootload_flag' para mostrar que quiere invocar el gestor de arranque. Tenga en cuenta que 'bootload_flag' est definido en Main.c y por lo tanto debe ser declarada como un externo variable en interrupt.c, como se muestra en cdigo 3. Cdigo 3. EnterBootloader ISR CY_ISR(isr_EnterBootloader_Interrupt) { / * Coloque aqu el cdigo de interrupcin. */ / * '#START isr_EnterBootloader_Interrupt' */ / * Set bandera para mostrar el evento de la interfaz de */ bootload_flag = 1; } www.Cypress.com / * '#END' * /

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.

Documento no. 001-73503 Rev. * C

USB HID Bootloader for PSoC 3 and PSoC 5

Configuracin del reloj


A diferencia del proyecto del gestor de arranque, un proyecto bootloadable hace no requiere ninguna configuracin especfica de reloj. En este ejemplo utilizamos el estndar de 3 MHz OMI con un 24 MHz Salida PLL. Usted puede configurar los relojes de manera que se adapta a las especificaciones de su proyecto.

Configuracin Kit

Configure el kit de desarrollo para poner a prueba el proyecto como de la siguiente manera: a) Para el CY8CKIT-001 b) Conectar P0 [7] para SW2 Conecte un cable USB de su PC para J9. Asegrese J12 est en la posicin "On", al poder la pantalla LCD Conecte el LCD en el conector LCD Puerto 2 Establecer SW3 a 5V Cambie J8 en la posicin ms baja, a la fuente de alimentacin desde el bus USB Establezca todos los puentes de potencia (J2 - J7) a "Vdd" Conecte un cable USB desde el PC al J2 Set J10 y J11 en la posicin 5V Conecte el LCD en el conector LCD Puerto 2

Para el CY8CKIT-030 o CY8CKIT-050

Tenga en cuenta que este proyecto no es compatible con el PSoC Primera Toque Kits.

www.cypress.com

Document No. 001-73503 Rev. *C

10

USB HID Bootloader for PSoC 3 and PSoC 5


Tenga en cuenta que la enumeracin USB lleva tiempo. Si toma demasiado tiempo para enumerar dispositivo bootloader entonces puede agotar el tiempo y pasar el control a la aplicacin antes de que el husped tiene la oportunidad de comenzar una bootload. Uso el mtodo de puerta trasera que implementamos, iniciar el bootloader manteniendo pulsado SW2 cuando se restablece la PSoC. Consulte Firmware f detalles o ms sobre cmo este funciona.

PSoC Creator Bootloader Host


Es el momento de realizar una operacin de bootload. Para probar nuestra bootloader vamos a utilizar la herramienta de gestor de arranque host que viene con PSoC Creador 1. Construir la bootloadable proyecto. Programa la proyecto bootloadable en el PSoC 2. Abra la herramienta Bootloader Host ( Figura 14) por navegar a Herramientas Host Bootloader en PSoC Creador 6.

Figure 14. PSoC Creator Bootloader Host Tool

La pantalla LCD indica que el gestor de arranque est activo - un dispositivo de interfaz humana USB aparece en la ventana de puertos. Al seleccionar el puerto de HID que vea el VID y PID establecimos en el descriptor de HID. Haga clic en Programa o presione F5 para iniciar bootloading.

La seccin siguiente muestra cmo crear su propio herramienta de host del gestor de arranque, con una interfaz grfica de usuario basada en C#

Haga clic en Filtros y agregar un filtro para identificar el USB dispositivos (es decir, el DVK) que tiene intencin de Bootload, como Figura 15 shows. Utilice el Vendor ID (VID) y Identificacin del producto (PID) como se define en la plantilla; vase Configure el componente USB Figure 15. VID y PID Configuracin del filtro 3.

4.

Haga clic en Abrir archivo para buscar la ubicacin de su archivo bootloadable (*. cyacd). El archivo de cyacd. Puede ser que se encuentra en la carpeta de depuracin de su proyecto

5.

Presione SW2 en su kit de desarrollo para pasar el control de el PSoC al gestor de arranque

Tambin puede restablecer el dispositivo para pasar el control de nuevo a el gestor de arranque. Recuerde que cuando el dispositivo entra en el gestor de arranque de reinicio o encendido espera por un perodo de tiempo de espera (establecido en el componente de gestor de arranque) antes de pasar el control a la aplicacin bootloadable

www.cypress.com

Document No. 001-73503 Rev. *C

11

USB HID Bootloader for PSoC 3 and PSoC 5

Construir un Host Bootloader


En esta seccin se muestra cmo crear una interfaz grfica de usuario que implementa su propio gestor de arranque personalizado Host USB. Slo la tecla pasos se describen aqu. Si no est familiarizado con Desarrollo de aplicaciones de Windows o Microsoft Visual De estudio, por favor refirase a la seccin de recursos relacionados para recomendaciones sobre dnde aprender acerca de estos temas Se recomienda que usted ha abrir el ejemplo de C # y C + +, mientras que los proyectos que realizan los siguientes pasos. La proyectos se adjuntan a esta nota de aplicacin como los archivos zip. Un ejecutable completado basndose en los estos proyectos es tambin disponible, como USBBootloaderHost.exe.

4. API del gestor de arranque suministrados con PSoC Creador


Los cuatro mdulos de API utilizadas para crear el programa de acogida son incluido con esta nota de aplicacin o se puede encontrar en la siguiente carpeta Creador PSoC:

PSoC Creator\2.1\PSoC Creator\cybootloaderutils


Estos mdulos incluyen todo el cdigo necesario para interconectar con un bootloader PSoC usando el gestor de arranque Cypress protocolo. Para obtener ms informacin sobre este protocolo de ver el ficha componente gestor de arranque o la referencia del sistema Gua.

Recursos necesarios
Usted necesitar un par de cosas para crear el host del gestor de arranque:

Hay cuatro mdulos, cada uno de los cuales es un C / h Archivo par..: cybtldr_command.c / .h Este mdulo construye paquetes a enviar a la gestor de arranque, y analiza los paquetes recibidos desde el bootloader

1. Visual C# Express 2008 o posterior


Esto es IDE gratuito de Microsoft para el desarrollo de. NET aplicaciones utilizando el lenguaje de programacin C #. Mientras esta nota de aplicacin utiliza la versin gratuita del software, tambin puede utilizar la versin completa (Visual Studio). Visual C # Express se puede descargar de Microsoft en el siguiente URL: 2.010 Visual C # Express

cybtldr_parse.c / .h Este mdulo analiza el archivo cyacd *. Que contiene el bootloadable imagen para enviar al dispositivo cybtldr_api.c / .h
Este mdulo contiene las funciones de bajo nivel para configurar la operacin bootload, programa una fila flash, borrar una fila, verificar una fila, y poner fin a la operacin bootload

2. Visual C++ Express 2008 o ms reciente (Opcional) Este es otro IDE de Microsoft para el desarrollo de. NET aplicaciones, sino que utiliza el lenguaje de programacin C + +. Visual C + + Express se utiliza para generar un vnculo dinmico Library (DLL) usando mdulos de C. Esto slo es necesario si deseen crear su propia DLL. Un archivo DLL precompilado, Bootload_Utils.dll, se proporciona con el proyecto asociado archivos. Visual C + + Express se puede descargar desde el siguiente URL: 2010 Visual C + + Express 3. CYUSB.dll
CYUSB.dll es el Cypress desarrollado y mantenido. NET biblioteca para interconectar aplicaciones de Visual Studio con Los dispositivos USB de Cypress. Esta DLL viene incluido con el Paquete Cypress SuiteUSB, que es un conjunto completo de Herramientas de desarrollo USB para Visual Studio. Una copia de CyUSB.dll se incluye en esta nota de aplicacin, puede ser que se encuentra en la carpeta "Host GUI".

cybtldr_api2.c / .h Este mdulo es una API de alto nivel que gestiona la proceso bootload entero. Tiene funciones a programthe dispositivo, borrar el dispositivo, compruebe el dispositivo y anular la operacin bootload

Adems, SuiteUSB se puede descargar de Cypress en el siguiente enlace: Cypress SuiteUSB.

www.cypress.com

Document No. 001-73503 Rev. *C

12

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.
HID USB cargador de arranque para PSoC 3 y PSoC 5

Crear la aplicacin Host del gestor de arranque


Este proceso tiene cuatro etapas principales: Etapa 1: Crear una DLL (Dynamic Link Library) con el funciones de utilidad C bootloader proporcionadas de PSoC creador.

8.

Etapa 2: Crear una aplicacin de formularios Windows C# (es decir, un 9. INTERFAZ GRFICA DE USUARIO).

Para construir el proyecto en un archivo DLL, del proyecto men, seleccione las propiedades del proyecto. En el panel izquierdo, en propiedades de configuracin, seleccione a General. Desde el panel derecho, cambiar el tipo de configuracin a biblioteca dinmicos (.dll). Pulse OK para guardar la cambios. Compilar el proyecto haciendo clic en Debug-> Build Solucin. Esto crea el archivo dll necesario.

Etapa 3: Importar las funciones esenciales del gestor de arranque de la El BootLoad_Utils.dll y el CyUSB.dll tienen que ser DLL creada en etapa 1. copiado a la carpeta de salida de la aplicacin de formularios Windows Etapa 4: Proporciona definiciones para la comunicacin (donde se crea el archivo .exe), como la prxima etapa funciones definicin y requieren por CyUSB.dll. describe. Las secciones siguientes explica en detalle cada etapa:

Etapa 1: Crear una DLL


Lo primero que tenemos que hacer es crear un vnculo dinmico Biblioteca (DLL) con los archivos de arranque C PSoC creador. NOTA A copia de un Ya compilado DLL, "BootLoad_Utils.dll", se adjunta a esta nota de aplicacin, As que esta etapa es opcional. 1. Abre tu entorno de desarrollo de Visual C++. El pasos siguientes se basan en Visual C++ Express 2008. En el men Archivo, seleccione nuevo proyecto. Seleccione Win32 como el tipo de proyecto y luego seleccione Aplicacin de consola Win32. Proporcionar un nombre adecuado al proyecto, tales como Bootloader_Utils.

Etapa 2: Crear un formulario Windows Forms Aplicacin

El siguiente paso es crear un GUI para el host del gestor de arranque. La GUI se crea utilizando Visual C#. Los principales los requisitos son sencillos:

Reconocer y conectar a un dispositivo HID basado en el VID y PID. Para ms informacin consulte el USB Notas de aplicacin en la seccin recursos relacionados. Permite al usuario seleccionar un nuevo archivo .cyacd para bootload en el dispositivo El archivo .cyacd en el dispositivo a travs del programa el uso de las funciones de .dll

2. 3. 4. 5.

Haga clic en Aceptar para iniciar al asistente para aplicaciones Win32. Bajo Tipo de aplicacin, Seleccione DLL. Bajo Figura 16. Host personalizado Bootloader GUI Opciones de la aplicacin, seleccione proyecto vaco. Haga clic en Terminar de aplicar estos ajustes y crear una nueva proyecto. En el explorador de soluciones, haga clic en archivos de encabezado y seleccione Aadir-> elemento existente. Aadir la siguiente archivos de encabezado: cybtldr_command.h cybtldr_parse.h cybtldr_api.h cybtldr_api2.h

Abra su entorno Visual C# y crear una nueva Aplicacin de Windows Forms. Toma elementos del cuadro de herramientas y arrastre las formas deseadas de la ventana del formulario principal para implementar el ejemplo mostrado en la figura 16 GUI

6.

7.

En el explorador de soluciones, haga clic en archivos de cdigo fuente y seleccione Aadir-> elemento existente. Aadir la siguiente Archivos de cdigo fuente: cybtldr_command.c cybtldr_parse.c cybtldr_api.c cybtldr_api2.c

Usted puede agregar otros elementos de la caja de herramientas para personali con opciones tales como informes de estado desde el gestor de arranque los paquetes de respuesta o una barra de progreso durante la bootload operacin.

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.

www.Cypress.com

Documento no. 001-73503 Rev. * C

13

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.
HID USB cargador de arranque para PSoC 3 y PSoC 5

Etapa 3: Importar las funciones de gestor de arranque

4.

Llame a la funcin de la Dll.

El mtodos y objetos proporcionado por El paso siguiente es importar las funciones de gestor de arranque de BootLoad_Utils.dll son acceder a De el C# nuestra dll en nuestra aplicacin de C#. Esto se logra utilizando aplicacin mediante la utilidad de la invocacin de plataforma (pInvoke) el modificador dllimport. Usando dllimport nos permite hacer proporcionado por Windows. llamadas a cdigo no administrado desde una aplicacin administrada. La utilidad del gestor de arranque los mdulos se definen como no administrada Se invoca el mtodo en el cdigo C# como lo hara cdigo. invocar cualquier otro mtodo. Vea el cdigo Form1.cs en el proyecto de Visual Studio asociado de ejemplos. Administrado se ejecuta cdigo en el CLR (Common Language Tiempo de ejecucin), que ofrece servicios como la recoleccin de basura, Etapa 4: Definir la comunicacin verificacin de tipos en tiempo de ejecucin y verificacin de referencia. Visual Funciones Basic y C# puede producir solamente cdigo administrado. Los archivos C a PSoC creador contienen cdigo que Compila cdigo no administrado a cdigo de mquina. maneja el protocolo de ciprs del gestor de arranque para que el host Esto significa que no est gestionado por el CLR y puede leer el .cyacd archivo y marco bootloader paquetes. por lo tanto no llega a usar utilidades como basura Slo tienes que definir la comunicacin de alto nivel coleccin. Todo el cdigo administrado est escrito en Visual Studio funciones para el manejo de la interfaz USB. en C o C++. Por ejemplo ver el proyecto de Visual Studio incluye USB_Bootloader_Host. El clase Bootload_Utils definidas en el archivo BootLoad_Utils_NativeCode.cs. Para importar las funciones sigan estos pasos: 1. Identificar las funciones de la DLL que se invocan directamente por la aplicacin host de C#. Esto incluye: 2. CyBtldr_Program() CyBtldr_Erase() CyBtldr_Verify() CyBtldr_Abort() es Deben definirse las funciones siguientes en el cdigo C# para utilizar las funciones de utilidad del gestor de arranque:

OpenConnection() CloseConnection() ReadData() WriteData()

Crear una clase para sostener las funciones DLL. Puede utilizar un clase existente, crear una clase individual para cada uno la funcin no administrada, o crear una clase que contiene un conjunto de funciones relacionadas no administrados. Crear prototipos en cdigo administrado. En C#, utilice el atributo DllImport para identificar el archivo DLL y la funcin. Esto indica al compilador dnde encontrar el definicin de funcin. Marque el mtodo con la esttica y extern modificadores. A partir de .NET 4.0 necesitamos especificar el llamado Convencin tambin. Hacemos esto mediante la adicin de la parmetro CallingConvention.Cdecl ParaDile el compilador que se trata de una funcin de estilo de lenguaje C Declaracin. Ver cdigo 4.

Estas cuatro funciones son utilizadas por las funciones de C como devoluciones de llamada para enviar y recibir comandos del gestor de arranque. A callback es una funcin utilizada por cdigo de nivel inferior que es definido en el cdigo de nivel superior. Con el fin de coincidir con el ms alto definiciones de nivel con las declaraciones de nivel inferiores que definimos funcin de punteros a las funciones de nivel inferiores y conjunto de la funciones como delegados de alto nivel. Revise el archivo BootLoad_Utils_NativeCode.cs en la Proyecto asociado USB_Bootloader_Host C# para ver cmo para ello. Por ejemplo, para implementar el OpenConnection la funcin, siga estos pasos: 1. Declarar la funcin como delegado, como muestra el cdigo 5. Cdigo 5. Declaracin de OpenConnection Callback USB [(UnmanagedFunctionPointer) CallingConvention.Cdecl)] Delegado public int OpenConnection_USB(); 2. Definir la funcin en C#, como muestra el cdigo 6:

3.

Cdigo 4. Funciones de la importacin de dll [DllImport ("BootLoad_Utils.dll", CallingConvention = CallingConvention.Cdecl)] public static extern int CyBtldr_Program (string archivo, Ref CyBtldr_CommunicationsData comm, Actualizacin de CyBtldr_ProgressUpdate);

Cdigo 6. Definicin de OpenConnection Callback public int OpenConnection() { int estado = 0; estado = GetHidDevice()? ERR_SUCCESS: ERR_OPEN; devuelven estado; } Repita los pasos 1 y 2 para cada uno de la comunicacin USB funciones.

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.

www.Cypress.com

Documento no. 001-73503 Rev. * C

14

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.
HID USB cargador de arranque para PSoC 3 y PSoC 5

3.

El estructura "CyBtldr_CommunicationsData" Cdigo 7. Estructura de datos de la funcin de devolucin de llamada declarado en cybtldr.h se utiliza Parase renen los [StructLayout(LayoutKind.Sequential)] funciones de comunicacin, como se muestra en cdigo 7. Necesitamos pblico struct CyBtldr_CommunicationsData para definir esta estructura, crear una instancia de la { estructura y poblar a sus miembros con el delegado pblico OpenConnection_USB OpenConnection; funciones. Vea la clase "Bootload_Utils" en el C# CloseConnection_USB pblica Cdigo adjunto. CloseConnection; pblico ReadData ReadData_USB; pblico WriteData WriteData_USB; uint pblica MaxTransferSize;

}; 4.

Crear una instancia (comm_data) de la estructura que hemos definido anteriormente, como muestra el cdigo de 8.

Cdigo 8. Crear una nueva instancia de CyBtldr estructura Bootload_Utils.CyBtldr_CommunicationsData comm_data = Nueva Bootload_Utils.CyBtldr_CommunicationsData(); 5. Asignar a los miembros de la estructura, como cdigo 9 muestra:

Complete the Windows Form Application


The bootload process is conveniently wrapped in a single function call. After a valid USB device is attached and a .cyacd file has been selected, the host application only needs to call the following function to perform the bootload operation: Bootload_Utils.CyBtldr_Program( Chosen_File_Cyacd, ref comm_data, update) In the example project this function is called when the Program botn is clicked, using the Program_Button_Click event handler.

Cdigo 9. Poblando a los miembros de la estructura comm_data.OpenConnection = OpenConnection; comm_data.CloseConnection = CloseConnection; comm_data.ReadData = ReadData; comm_data.WriteData = WriteData; comm_data.MaxTransferSize = 64; Aqu est una breve explicacin de lo que cada uno de estas funciones Zorro 1) Delegado public int OpenConnection_USB(); This function gets a handle to the USB device with a coincidencia de VID y PID. 2) public delegate int CloseConnection_USB(); This function releases the previously obtained device handle and sets the USB device object to null. 3) public delegate int ReadData_USB( IntPtr buffer, int size);

Summary
Bootloaders are a great tool that can be used for field upgrades. Every bootloader needs a hardware communication interface to interact with its host. USB has become so common that it has become the preferred choice for this communication interface. The PSoC USB HID bootloader described in this application note provides a quick, reliable solution to get you up and running with a USB bootloader. The device is configured as a HID class so that it can interface with any operating system with no custom driver. The Bootloader, Bootloadable, and Host examples provided with this application note are starter designs, which can be customized to provide additional features.

This function reads data from an IN Endpoint and stores it en un bfer. 4) public delegate int WriteData_USB( IntPtr buffer, int size);

This function writes data to an OUT Endpoint. The data is preloaded in a buffer. The definitions for the communication functions are given in delegated_functions.cs and BootLoad_Utils_NativeCode.cs in the attached C# project.

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.

www.Cypress.com

Documento no. 001-73503 Rev. * C

15

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.
HID USB cargador de arranque para PSoC 3 y PSoC 5

Recursos relacionados
Notas de aplicacin:

Sobre los autores


Nombre: Ttulo: Fondo: Robert Murphy Ingeniero Senior de aplicaciones Robert Murphy se gradu de Purdue Con una licenciatura en la Universidad Tecnologa de ingeniera elctrica. rlrm@Cypress.com Keith Mikoleit Ingeniero Senior de aplicaciones Keith Mikoleit se gradu de Western Washington Universidad con un Despedida de soltero Grado en Elctrica Tecnologa de la ingeniera. klmz@Cypress.com

AN54181 Getting Started with PSoC3 AN77759 Getting Started With PSoC5 AN73854 PSoC 3 y PSoC 5 Introduccin
Gestores de arranque

Contacto: Nombre: Ttulo: Fondo:

AN60317 PSoC3/PSoC5 I2C Bootloader AN57473 - PSoC 3 / PSoC 5 USB HID


Fundamentos con el ratn y Joystick (con teclado y dispositivo compuesto)

AN58726 - PSoC 3 / PSoC 5 USB HID intermedio AN56377 - PSoC 3 / PSoC 5 tipos de transferencia USB AN023 - USB cumplimiento prueba Resumen AN14557 Introduccin a la CYUSB.dll base
Aplicacin desarrollo usando C#

Contacto:

AN61744 Introduccin a la CYAPI.lib base


Aplicacin desarrollo usando VC ++

Informacin adicional:

Pgina de inicio de Cypress PSoC USB

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.

www.Cypress.com

Documento no. 001-73503 Rev. * C

16

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.
HID USB cargador de arranque para PSoC 3 y PSoC 5

Apndice A
Configuracin HID USBFS

2.

En el Descriptor rbol, Haga clic Configuracin en Descriptor. Configurar las opciones de configuracin Atributos como sigue (vase la figura 18):

Potencia mxima (mA): 20 Recuerde que esta nota de aplicacin utiliza el USB HID clase para evitar la necesidad de archivos de controlador suministrado externamente. Dispositivo de alimentacin: Bus Powered Para comenzar a configurar el componente USBFS, doble clic Figura 18. Descriptor de configuracin USBFS en l.
1. En el rbol del Descriptor, haga clic en dispositivo de Descriptor. Configurar las opciones para los atributos del dispositivo como a continuacin (ver figura 17):

Vendor ID: 0x04B4 ID de producto: 0xE174 Comunicado de dispositivo: 0x0101 Cadena de fabricacin: Cypress Semiconductor Cadena de producto: PSoC 3 Bootloader

El requisito slo duro aqu es cambiar el proveedor ID (VID) y el Product ID (PID). Es el VID utilizado (0x04B4) un especfico Cypress Semiconductor VID. Es aceptable uso de este ejemplo. Sin embargo, debe utilizar un VID asignado a su empresa Cuando desarrollas un aplicacin para la produccin. El PID elegido es exclusivo de Esta aplicacin. La aplicacin del host bootloader utiliza el VID y PID en reconocer el dispositivo. Usted puede opcionalmente cambiar las cuerdas diversas tales como la cadena del producto y la cadena de fabricacin. Figura 17. Descriptor de dispositivo USBFS

Los valores claves en esta seccin son definir el USB dispositivo como Bus Powered y solicitar un presupuesto de alimentacin de 20 mA desde el host. Menos de 20 mA para la aplicacin es aceptable, pero nosotros no podemos superar este requisito. Puesto que nosotros no requerimos funcionalidad de activacin remota, nos desactvelo. 3. En el rbol del Descriptor, haga clic en configuracin alternativa 0. Configurar las opciones de atributos de la interfaz como a continuacin (ver figura 19 en la pgina 18):

Cadena de interfaz: PSoC 3 Bootloader Clase: HID Subclase: Ninguna subclase

Tenga en cuenta que an hemos no configurado el informe HID. Si usted Haga clic en aceptar o aplicar en este punto que usted recibir un error Porque ningn informe HID est definido. La creacin de este Informe est cubierto en los pasos siguientes. Cada interfaz puede tener mltiples escenarios alternos para permiten mltiples configuraciones de punto final. Aqu slo tener una configuracin (uno predeterminado) se alternan. Esto tambin es donde especificamos que el dispositivo cumple con la HID clase. Cuenta como cambia la clase de Indefinido a ocultado, aparece un Descriptor adicional en el rbol raz descriptor: Descriptor clase HID.

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.

www.Cypress.com

Documento no. 001-73503 Rev. * C

17

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.
HID USB cargador de arranque para PSoC 3 y PSoC 5

Figura 19. Configuracin alternativa USBFS

Utilice la interfaz HID Descriptor para crear un informe HID descriptor, como se muestra en la figura 21: Figura 21. Descriptor de HID
Paso 1 Paso 2 Paso 3

Paso 4

4.

Haga clic el en aade Endpoint botn. Un adicional Endpoint Descriptor aparece en el rbol del Descriptor, como muestra la figura 20. 1. 2.

Paso 5

Figura 20. USBFS aadiendo Enpoints


ClY co kH ere

Haga clic en la ficha del Descriptor HID. Haga clic en el botn Aadir informe. Siga la tabla 3 en la pgina 19 para los pasos 3 a 5. El elementos del informe deben agregarse en el mismo orden en la tabla.

3. 4. 5.

Seleccione un elemento de la lista de HID. Select a value from the Item Value list according to the table. When the Item Value box contains a text field for a particular Item selected, click either the Decimal or Hexadecimal radio option and enter the desired value in the field. Repeat steps 3 to 5 until the report descriptor resembles the screenshot in Figure 22 on page 19.

6.

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.

www.Cypress.com

Documento no. 001-73503 Rev. * C

18

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.
HID USB cargador de arranque para PSoC 3 y PSoC 5

Tabla 3. Descriptor ocultado elementos


Artculo HID PGINA DE USO (05) USO (09) COLECCIN (A1) USO (09) COLECCIN (A1) USO (09) LOGICAL_MINIMUM (15) LOGICAL_MAXIMUM (26) REPORT_SIZE (75) REPORT_COUNT (95) SALIDA (91) USO (09) LOGICAL_MINIMUM (15) LOGICAL_MAXIMUM (26) REPORT_SIZE (75) REPORT_COUNT (95) ENTRADA (81) END_COLLECTION (C0) END_COLLECTION (C0) Valor del elemento (uso) Controles genricos de escritorio 01 Undefined 0 x 00 0 X 00 fsica Undefined 0 x 00 0 X 00 fsica Undefined 0 x 00 0 x 00 0xFF 0 x 08 0 x 40 Bit 1 - Variable Undefined 0 x 00 0 x 00 0xFF 0 x 08 0 x 40 Bit 1 - Variable NA NA

5.

Haga clic en la ficha del Descriptor de dispositivo. En el Descriptor rbol, haga clic en HID Class Descriptor. Configurar las opciones de para los atributos del dispositivo de la siguiente manera (ver figura 23):

Informe ocultado: Generic HID Puesto que el proyecto utiliza un Descriptor de informe, establecemos la Descriptor tipo de informe. Porque el proyecto no es especfica a cualquier pas, nos propusimos cdigo de pas no Apoyado. Finalmente, el Descriptor de clase HID debe apuntar a el Descriptor HID informe hemos creado en el paso anterior. Para crear este vnculo, emparejamos el informe ocultado a nuestra HID Informe Descriptor, que en nuestro ejemplo se etiqueta Genrico se escondi. Figura 23. USBFS HID dispositivo atributos

Tipo de descriptor: informe Cdigo del pas: No se admite

6.

En el rbol del Descriptor, haga clic en el primer punto final Entrada de descriptor. Configurar opciones de Endpoint Atributos como sigue (vase la Figura 24 en la pgina 20):

Figura 22. Completado el Descriptor HID

Nmero de punto final: EP1 Direccin: cabo Tipo de transferencia: INT Intervalo: 10 Tamao mximo de paquete: 64

El primer EP se utiliza como el punto final. Acta como un bfer de datos recibidos desde el host. USB IN y OUT terminologa siempre se hace referencia en relacin con el anfitrin del USB. En primer lugar, definimos este extremo como extremo 1 (EP1). Siguiente, establecemos la direccin del extremo como OUT. Puesto que esto la aplicacin es un HID, la especificacin requiere que nosotros utilizan transferencias de interrupcin (INT). Entonces establecimos la votacin Intervalo para un valor de 10 ms. finalmente, fijamos nuestra mxima Tamao del paquete a un valor de 64 bytes.

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.

www.Cypress.com

Documento no. 001-73503 Rev. * C

19

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.
HID USB cargador de arranque para PSoC 3 y PSoC 5

Figura 24. USBFS Endpoint 1

Figura 25. USBFS Endpoint 2

7.

El propsito de EP2 es que acte como un amortiguador para los datos que 8. Haga clic en el botn aplicar y haga clic en el botn Aceptar se enviar al host. Repita el paso 8 para la segunda para cerrar al asistente de configuracin. punto final para configurarlo como un extremo IN con el (vea la figura 25) los siguientes atributos:

Nmero de punto final: EP2 Direccin: en Tipo de transferencia: INT Intervalo: 10 Tamao mximo de paquete: 64

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.

www.Cypress.com

Documento no. 001-73503 Rev. * C

20

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.
HID USB cargador de arranque para PSoC 3 y PSoC 5

Histrico del documento


Ttulo: AN73503 - HID USB cargador de arranque para PSoC 3 y PSoC 5 Nmero de documento: 001-73503
Revisin ** *A *B *C ECN 3435382 3673053 3811883 3850054 Orig. de Cambio UDAY UDAY ANCY KLMZ Presentacin Fecha 20/12/2011 11/07/2012 14/11/2012 21/12/2012 Nuevas especificaciones. Actualizaciones menores y las ediciones. Plantilla actualizada. Actualizado para PSoC 5LP Reescrito para la organizacin y contenido mejorado Descripcin del cambio

Multilizer PDF Translator Free version - translation is* limited to ~ 3 pages per translation. www.Cypress.com Documento no. 001-73503 Rev. C 21

Multilizer PDF Translator Free version - translation is limited to ~ 3 pages per translation.
HID USB cargador de arranque para PSoC 3 y PSoC 5

Ventas y soporte de diseo


Cypress mantiene una red mundial de oficinas, centros de soluciones, fabricante s representantes y distribuidores. Buscar la oficina ms cercana a usted, visite lugares de ciprs.

Productos
Automotriz Relojes & Buffers Interfaz Cypress.com/go/Automotive Cypress.com/go/Clocks Cypress.com/go/interface

Soluciones de PSoC

PSoC.Cypress.com/Solutions PSoC 1 | PSoC 3 |http://www.Cypress.com/?ID=2233 PSoC 5

Iluminacin & de Control de potencia Cypress.com/go/powerpsoc Cypress.com/go/PLC Memoria Sensores de navegacin ptica PSoC Touch Sensor Controladores USB RF Wireless Cypress.com/go/Memory Cypress.com/go/ons Cypress.com/go/PSoC Cypress.com/go/Touch Cypress.com/go/USB Cypress.com/go/Wireless

Comunidad de desarrolladores de ciprs


Comunidad | Foros | Blogs | Video | Entrenamiento

Soporte tcnico
Cypress.com/go/support

PSoC es una marca registrada de Cypress Semiconductor Corp. "Programable System-on-Chip", y PSoC Designer, son marcas registradas de ciprs Semiconductor Corp. Todas las dems marcas registradas que se hace referencia en este documento son propiedad de sus respectivos propietarios. Cypress Semiconductor 198 Campen de corte San Jose, CA 95134-1709 Telfono Fax Sitio web : 408-943-2600 : 408-943-4730 : www.cypress.com

Cypress Semiconductor Corporation 2011-2012. La informacin aqu contenida est sujeta a cambios sin previo aviso. Cypress Semiconductor Corporation no asume ninguna responsabilidad derivada del uso de cualquier circuito de distintos circuitos incorporados en un producto de ciprs. Ni expresar o implicar cualquier licencia bajo patente u otros derechos. Cypress productos no estn garantizados ni destinados a ser utilizados para mdico, apoyo vital, salvamento, control crtico o aplicaciones de seguridad, salvo en virtud de un expreso escrito acuerdo con ciprs. Adems, ciprs no autoriza a sus productos para su uso como componentes crticos en sistemas de soporte vital donde un fallo o puede razonablemente esperarse que resultar en lesin significativa para el usuario. El inclusin de productos de ciprs en sistemas de soporte vital aplicacin implica que el fabricante no asume todo el riesgo de tal uso y, al hacerlo as que indemniza Cypress contra todos los cargos. Este cdigo fuente (software o firmware) es propiedad de Cypress Semiconductor Corporation (ciprs) y est protegido por y sujeto a todo el mundo proteccin de la patente (Estados Unidos y extranjeros), las leyes de copyright de Estados Unidos y tratados internacionales. Cypress le otorga al Licenciatario una personal, no exclusiva, no transferible licencia para copiar, utilizar, modificar, crear trabajos derivados de y compilar el cdigo fuente de ciprs y derivado trabaja con el nico propsito de la creacin de software a medida y o firmware en apoyo de producto del Licenciatario para usarse slo en combinacin con un ciprs circuito integrado como se especifica en el acuerdo vigente. Cualquier reproduccin, modificacin, traduccin, compilacin o representacin de esta fuente Cdigo excepto como se especifica anteriormente est prohibida sin el permiso escrito expreso de ciprs. Descargo de responsabilidad: Ciprs no otorga ninguna garanta de cualquier tipo, expresas o implcitas, con respecto a este MATERIAL, incluidas, pero SIN LIMITARSE A, LAS GARANTAS IMPLCITAS DE COMERCIABILIDAD E IDONEIDAD PARA UN PROPSITO EN PARTICULAR. Las reservas de ciprs la derecho de hacer cambios sin aviso a los materiales descritos. Cypress no asume ninguna responsabilidad derivada de la aplicacin o el uso de cualquier producto o circuito descritos. Cypress no autoriza a sus productos para su uso como componentes crticos en sistemas de soporte vital donde un fallo o puede razonablemente esperarse que resultar en lesin significativa para el usuario. La inclusin de productos de ciprs en un sistema de soporte vital aplicacin implica que el fabricante no asume todo el riesgo de tal uso y, al hacerlo as que indemniza Cypress contra todos los cargos. Uso puede ser limitado por y objeto del contrato de licencia de software de ciprs aplicable.

Multilizer PDF Translator Free version - translation is* limited to ~ 3 pages per translation. www.Cypress.com Documento no. 001-73503 Rev. C 22

También podría gustarte