Autor Tema: Bootloader (flash) por usb en Kinetis K2  (Leído 3978 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re:Bootloader (flash) por usb en Kinetis K2
« Respuesta #15 en: 19 de Noviembre de 2015, 10:32:51 »
Lo normal es que el usb te de hasta 500mA de intensidad siendo 2.0, un 3.0 te da cerca de 1A.

Los fuses si se podran programar desde el bootloader, de por si al meter el primer programa con el bootloader de origen podras retocar los fuses asi que tambien lo podrias hacer desde un bootloader personal, todo es mirarlo. De todas formas la mayoria de micros nuevos ya no llevan fuses o bien son algo distinto a lo que entendemos en un pic como fuse.

Lo que tendrias que hacer es crear tu propio bootloader o bien coger uno y modificarlo. Entonces si el usb envia por ejemplo un comando "BOOT" el programa entra en modo bootloader para programar el firmware, eso de poner un switch o que al arrancar el programa te entre o no en bootloader es algo viejo, ya puedes hacerlo en cualquier momento.
Te recomiendo hacerlo de esta manera: Al entrar en modo bootloader carga el bootloader en la RAM, ejecuta el bootloader desde la RAM y asi actualizas la flash por completo, si por ejemplo quisieras modificar el bootloader podrias hacerlo. Existe un problema al hacer esto, y es que lo desconectes o te quedes sin alimentacion antes de acabar, quedara inservible, se me ocurre una solucion, al empezar a escribir el bootloader en la direccion inicial de la flash pones un jump a un bootloader alojado en la flash no modificable, inicias el procecimiendo te bootloader, escribes y escribes la posicion inicial de la flash en ultimo lugar, asi si por un casual no se escribiese la primera posicion con el nuevo firmware este haria un jump hacia el bootloader y entraria siempre en modo bootloader hasta solucionar el problema.

Es algo complicado, pero si lo entiendes mas o menos sabras a que me refiero.

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2976
Re:Bootloader (flash) por usb en Kinetis K2
« Respuesta #16 en: 19 de Noviembre de 2015, 12:45:47 »
Citar
Lo normal es que el usb te de hasta 500mA de intensidad siendo 2.0, un 3.0 te da cerca de 1A.

pero para suministrar esa intensidad es necesario un IC externo.

Citar
Los fuses si se podran programar desde el bootloader, de por si al meter el primer programa con el bootloader de origen podras retocar los fuses asi que tambien lo podrias hacer desde un bootloader personal, todo es mirarlo. De todas formas la mayoria de micros nuevos ya no llevan fuses o bien son algo distinto a lo que entendemos en un pic como fuse.

maldita sea microchip nos tiene mal acostumbrados  :D :D

un saludo
Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re:Bootloader (flash) por usb en Kinetis K2
« Respuesta #17 en: 19 de Noviembre de 2015, 15:40:06 »
Lo normal es que el usb te de hasta 500mA de intensidad siendo 2.0, un 3.0 te da cerca de 1A.

Los fuses si se podran programar desde el bootloader, de por si al meter el primer programa con el bootloader de origen podras retocar los fuses asi que tambien lo podrias hacer desde un bootloader personal, todo es mirarlo. De todas formas la mayoria de micros nuevos ya no llevan fuses o bien son algo distinto a lo que entendemos en un pic como fuse.

Lo que tendrias que hacer es crear tu propio bootloader o bien coger uno y modificarlo. Entonces si el usb envia por ejemplo un comando "BOOT" el programa entra en modo bootloader para programar el firmware, eso de poner un switch o que al arrancar el programa te entre o no en bootloader es algo viejo, ya puedes hacerlo en cualquier momento.

Es algo complicado, pero si lo entiendes mas o menos sabras a que me refiero.

Justo eso es lo que quería escuchar :-). Al final no le he puesto pulsador porque es formato pedrive y quedaría muy cutre. La placa ya está enviada así que la suerte está echada.

Lo otro que comentas más o menos lo entiendo. Hasta que no lleguen las placas y las monte no podré probar nada. De paso iré mirando el KDS y las librerías y a ver si con la freedom puedo hacer lo que comentas de mandar un comando para saber que tiene que hacer el bootloader: que es justo lo que me ha pedido el cliente. También investigaré como va lo de los fuses.

Gracias y saludos todos!
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2976
Re:Bootloader (flash) por usb en Kinetis K2
« Respuesta #18 en: 19 de Noviembre de 2015, 15:46:03 »
Citar
De paso iré mirando el KDS y las librerías y a ver si con la freedom puedo hacer lo que comentas de mandar un comando para saber que tiene que hacer el bootloader: que es justo lo que me ha pedido el cliente. También investigaré como va lo de los fuses.

pues cuando lo averigues, hazme un favor y me cuentas como se hace  :D :D

un saludo
Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re:Bootloader (flash) por usb en Kinetis K2
« Respuesta #19 en: 19 de Noviembre de 2015, 17:26:13 »
Lo haré no te preocupes.
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re:Bootloader (flash) por usb en Kinetis K2
« Respuesta #20 en: 19 de Noviembre de 2015, 20:56:04 »
Segun habia visto se podia negociar el USB para que diese hasta 500mA, no he usado mucho los usb, pero en la descripcion de los drivers se podia modificar para que negociara mas de los 100mA, ahora que uso FTDI se que si se puede, solo modifcas la rom y te da esa corriente, pero hay que tener mucho ojo porque puedes quemar el hub, si necesitas 200mA negocias esos 200mA y ya te vale.

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re:Bootloader (flash) por usb en Kinetis K2
« Respuesta #21 en: 20 de Noviembre de 2015, 04:40:55 »
Segun habia visto se podia negociar el USB para que diese hasta 500mA, no he usado mucho los usb, pero en la descripcion de los drivers se podia modificar para que negociara mas de los 100mA, ahora que uso FTDI se que si se puede, solo modifcas la rom y te da esa corriente, pero hay que tener mucho ojo porque puedes quemar el hub, si necesitas 200mA negocias esos 200mA y ya te vale.

Yo no le he puesto ningún chip de regulación de corriente: va a pelo. Debe ser el hub del PC el que corte a más de 500mA: si no ningún cargador de movil de los chinos funcionaría...
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2976
Re:Bootloader (flash) por usb en Kinetis K2
« Respuesta #22 en: 20 de Noviembre de 2015, 06:29:13 »
Citar
Segun habia visto se podia negociar el USB para que diese hasta 500mA, no he usado mucho los usb, pero en la descripcion de los drivers se podia modificar para que negociara mas de los 100mA, ahora que uso FTDI se que si se puede, solo modifcas la rom y te da esa corriente, pero hay que tener mucho ojo porque puedes quemar el hub, si necesitas 200mA negocias esos 200mA y ya te vale.

Yo las placas que he visto, y hecho, con USB OTG, o que trabajan como host, siempre llevan un ic, que sirve para cortar la alimentación al de vice que se le conecte, ya que el micro pocas veces puede dar una intensidad "grande", par alimentar al device, y en la mayoría de los casos el micro da 3v3 y no 5V. Por lo tanto sempre he visto estos ic para este cometido.

Cuando el micro trabaja como device ( como en el caso de mawenwe) pues no hace falta ese IC, ya que este no va a tener que alimentar nada, ni cortar la alimentación ni nada.

En el caso de FTDI ni idea, como son integrados para eso, lo mismo están preparados para dar mas intensidad.

Un saludo
Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re:Bootloader (flash) por usb en Kinetis K2
« Respuesta #23 en: 20 de Noviembre de 2015, 08:30:06 »
No, a ver, yo me refiero a comunicacion PC host y placa device, es lo que he entendido no?? El queria alimentar una placa enchufada por USB al PC y estaba viendo que necesitaba mas de 100mA. Lo normal es que el PC corte a 100mA por defecto, sin embargo si modificamos los descriptores y negociamos podemos conseguir hasta 500mA, mas de 500mA no es posible, si seria posible utilizando 2 puertos, pero ya es otro lio...

A eso me referia, nada de OTG ni eso, que eso ya es otra cosa.


Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2976
Re:Bootloader (flash) por usb en Kinetis K2
« Respuesta #24 en: 20 de Noviembre de 2015, 11:00:06 »
No, a ver, yo me refiero a comunicacion PC host y placa device, es lo que he entendido no?? El queria alimentar una placa enchufada por USB al PC y estaba viendo que necesitaba mas de 100mA. Lo normal es que el PC corte a 100mA por defecto, sin embargo si modificamos los descriptores y negociamos podemos conseguir hasta 500mA, mas de 500mA no es posible, si seria posible utilizando 2 puertos, pero ya es otro lio...

A eso me referia, nada de OTG ni eso, que eso ya es otra cosa.

Vale, estábamos hablando de lo mismo pero en diferente bando, tu estabas hablando del pc como host y yo del PCB como host,
Si Mawenwe lo quiere como device, pero estaba en la conversación lo del regulador interno, y yo le decía que creía que eso era para cuando el ucontrolador actuaba como host, y de ahí el lío   :D :D

Cuando el PCB actúa como host, tambien tiene que ceder como mínimo 100mA, por eso decía lo del ic para alimentar el dispositivo externo, como un pendrive por ejemplo.

Un saludo.
Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw


 

anything