Autor Tema: RTOS para PIC GNU  (Leído 89287 veces)

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

Desconectado reiniertl

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1187
Re: RTOS para PIC GNU
« Respuesta #45 en: 02 de Febrero de 2007, 19:57:58 »
Hola amigos, cumlpiendo con mi promesa de involucrarme en la programación con Sistemas Operativos (SO) en los PIC, he abierto un hilo nuevo, con un nombre más llamativo, para que compartamos nuestros conocimientos al respecto.
Lo que pretendo en primer lugar es ir poniendo información para que los foreros que no conocen nada sobre el tema de los SO aprendan un poco como es su dinámica, y por supuesto, también código, que vendrá con el tiempo, para poder aplicaciones con esta poderosa herramienta.

el link es el siguiente: Sistemas operativos en PIC

Recomiendo que este hilo quede como está hasta ahora para no saturar el otro que más bien es una especie de curso introductorio en el tema. Espero que les sea de utilidad.
« Última modificación: 02 de Febrero de 2007, 20:02:04 por reiniertl »

Desconectado Darukur

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 464
    • Informacion, recursos y ejemplos para desarrollos con microcontroladores
Re: RTOS para PIC GNU
« Respuesta #46 en: 03 de Febrero de 2007, 09:24:54 »
Espero sus respuestas acerca del RTOS que subi!!!
Tambien saber quien lo esta probando.

Saludos.
El que no sabe lo que busca no entiende lo que encuentra.
Mi Pagina Web:  http://www.sistemasembebidos.com.ar
Mi foro:             http://www.sistemasembebidos.com.ar/foro/

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: RTOS para PIC GNU
« Respuesta #47 en: 03 de Febrero de 2007, 09:31:02 »
Yo tengo ganas Darukur, pero me falta tiempo. No obstante, me habéis despertado el gusanillo y tendré que satisfacerlo cuando pueda.

Desconectado Nichita

  • Colaborador
  • PIC12
  • *****
  • Mensajes: 86
Re: RTOS para PIC GNU
« Respuesta #48 en: 05 de Febrero de 2007, 10:31:01 »
Hola, yo probe los ejemplos del CCS los compilé y simulé en PROTEUS y funcionaron bien. Los probé tb con el PIC16F877 y todo bien.
Saludos
« Última modificación: 07 de Febrero de 2007, 20:12:25 por Nichita »

Desconectado Darukur

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 464
    • Informacion, recursos y ejemplos para desarrollos con microcontroladores
Re: RTOS para PIC GNU
« Respuesta #49 en: 05 de Febrero de 2007, 11:43:56 »
Gente aca subo una version actualizada del RTOS, ahora en la configuracion se elige el tipo de compilador.
Esta el  anterior para C30 (PIC24) y el mismo ejemplo para PICC18 de Hitech.

Si quieren algun ejemplo concreto de utilizacion pongan sugerencias.

Espero sus comentarios
« Última modificación: 05 de Febrero de 2007, 11:48:06 por Darukur »
El que no sabe lo que busca no entiende lo que encuentra.
Mi Pagina Web:  http://www.sistemasembebidos.com.ar
Mi foro:             http://www.sistemasembebidos.com.ar/foro/

Desconectado reiniertl

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1187
Re: RTOS para PIC GNU
« Respuesta #50 en: 05 de Febrero de 2007, 13:45:29 »
Ya estuve "cacharreando" el RTOS de CCS y creo que para empezar está bien, sin embargo me fui al link de FreeRTOS y me parece que es mejor opción en muchos sentidos que el RTOS de CCS, entre otras cosas, porque tienes acceso al código fuente y podemos además de utilizar el RTOS, optimizar FreeRTOS para nosotros mismos.

Estuve viendo el SALVO y me parece un propuesta interesante, aunque el código es un poco "verboso" (difícil de entender), gracias a Darukur por tus aportes en el desarrollo de RTOS.

Sin embargo quisiera que alguien me dijera donde consigo una versión del compilador GCC para PIC's, si es que existe. El código de FreeRTOS para PIC's está escrito con GCC, pero no dicen donde se puede obtener. Además mi intención futura con la idea de los SO para PIC's es que utilicemos, siempre que se pueda, software bajo licencias GNU. Las ventajas al respecto no hay que explicarlas pero puedo enumerar algunas: acceso al código fuente, menor o cero costos en licencias y una comunidad colaborando para mejorar constantemente los productos on conocimiento de que se hace y por qué.

Entonces, espero sus respuestas.

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: RTOS para PIC GNU
« Respuesta #51 en: 05 de Febrero de 2007, 14:55:52 »
Hola, yo probe los ejemplos del CCS los compilé y simulé en PROTEUS y funcionaron bien. Los probé tb con el PIC16F877 y todo bien. Si mal no recuerdo el RTOS le aumentaba cerca de 800 palabras de programa al codigo.
Saludos
Podras subir los ejemplos que simulaste y que version de CCS tienes??
A mi no me anduvieron en la simulacion... :? :? :? :?
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Zaphyrus

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 323
    • Mi blog: Es cuestión de actitud
Re: RTOS para PIC GNU
« Respuesta #52 en: 05 de Febrero de 2007, 15:01:32 »
Maunix las herramientas de GNUPic las he investigado pero están medias abandonadas para las nuevas arquitecturas. Gpsim, gpasm, ktechlab, pikdev, piklab las he usado y probado pero están a años luz de el entorno de Microchip (eso sí hay que darle tiempo).
Si queres algo com el Proteus dale una mirada a gEDA.

Saludos.
"¿Lo quiere rápido, barato, o bien hecho? Puede elegir dos de las tres cosas." Arthur C. Clarke.
Mi Proyecto Final de Carrera-Microprocesador RISC de 16 bits en HDL: http://martin.calveira.googlepages.com/home
Mi página web o blog: http://es-cuestion-de-actitud.blogspot.com/
Martín Calveira - Zárate - Argentina

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: RTOS para PIC GNU
« Respuesta #53 en: 05 de Febrero de 2007, 15:03:05 »
Sin embargo quisiera que alguien me dijera donde consigo una versión del compilador GCC para PIC's, si es que existe. El código de FreeRTOS para PIC's está escrito con GCC, pero no dicen donde se puede obtener. Además mi intención futura con la idea de los SO para PIC's es que utilicemos, siempre que se pueda, software bajo licencias GNU. Las ventajas al respecto no hay que explicarlas pero puedo enumerar algunas: acceso al código fuente, menor o cero costos en licencias y una comunidad colaborando para mejorar constantemente los productos on conocimiento de que se hace y por qué.

No hay un puerto del GCC para los PICs, de hecho es bastante difícil que lo haya.  Según la lista de correos gnupic, Scott Dattalo menciona que no es imposible pero sí tiene su complejidad.

Si quieres usar algo GNU para pics que compile en C, por cierto podrías probar el SDCC que tiene puerto para los PICs.

SDCC

Scott Dattalo es todo un hacendoso en esto de tools gnu para pics!  Autor del gpsim, gpasm y del puerto SDCC para pics.

De por sí, una persona para admirar, no solo por sus conocimientos sino por su humildad.



- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado Darukur

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 464
    • Informacion, recursos y ejemplos para desarrollos con microcontroladores
Re: RTOS para PIC GNU
« Respuesta #54 en: 05 de Febrero de 2007, 15:48:35 »
Le agregue al RTOS un servicio de contabilizacion del porcentaje de uso de micro por tarea.
Funciona muy bien, pero como queria que consumiera poco no tiene en cuenta el consumo de procesador propio del RTOS.
Lo que hace es "pegarle" ese pequeño porcentaje a cada tarea.
Igual se puede apagar y no consume, y cuando esta habilitado solo consume la consulta (que es muy poco).

Saludos

Prueben poniendole codigo a las tareas y vean.
« Última modificación: 05 de Febrero de 2007, 15:53:06 por Darukur »
El que no sabe lo que busca no entiende lo que encuentra.
Mi Pagina Web:  http://www.sistemasembebidos.com.ar
Mi foro:             http://www.sistemasembebidos.com.ar/foro/

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Re: RTOS para PIC GNU
« Respuesta #55 en: 05 de Febrero de 2007, 15:53:24 »

No hay un puerto del GCC para los PICs, de hecho es bastante difícil que lo haya.  Según la lista de correos gnupic, Scott Dattalo menciona que no es imposible pero sí tiene su complejidad.

Si quieres usar algo GNU para pics que compile en C, por cierto podrías probar el SDCC que tiene puerto para los PICs.
...

Maunix ¿que significa cuando hablas de la existencia de puertos para un compilador? :(
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado reiniertl

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1187
Re: RTOS para PIC GNU
« Respuesta #56 en: 05 de Febrero de 2007, 16:33:17 »
Gracias Maunix por el enlace al compilador.

Desconectado Darukur

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 464
    • Informacion, recursos y ejemplos para desarrollos con microcontroladores
Re: RTOS para PIC GNU
« Respuesta #57 en: 05 de Febrero de 2007, 16:47:01 »
Bueno, no pude con mi genio y ahora se puede configurar que contabilice aparte el consumo del scheluder (tambien configurable)
Ahora en vez de tener 33% de micro por cada tarea (son las 3 iguales) se tiene 27%, que es el valor real (el scheluder se come 19% del micro).

A no asustarse con esto:
El asunto es que las 3 tareas tienen NADA de codigo (contra el codigo del scheluder) y estan siempre haciendo YIELD (osea que quieren el procesador cuanto antes nuevamente).
Si las tareas tuviesen mas codigo antes de hacer yield (al menos unas cuantas instrucciones) ya se llevarian mayor porcentaje de micro estadisticamente.
Otro factor es que el scheluder obviamente se comporta como el proceso "idle" de windows, alguien se tiene que consumir el tiempo libre del micro. EJ: con las tres tareas dormidas el consumo del scheluder es 100%.

PD:
Agregue LMOS_EXAMPLE_2_04.ZIP que hace referencia a esto, las 3 tareas son iguales pero consumen mucho micro por yield (un bucle asesino de 10000 iteraciones ANTI RTOS  :D ), ahora con este ejemplo se ve que el scheluder consume de 0 a 1 y las 3 tareas 33 %.
El que no sabe lo que busca no entiende lo que encuentra.
Mi Pagina Web:  http://www.sistemasembebidos.com.ar
Mi foro:             http://www.sistemasembebidos.com.ar/foro/

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: RTOS para PIC GNU
« Respuesta #58 en: 05 de Febrero de 2007, 16:49:07 »

Maunix ¿que significa cuando hablas de la existencia de puertos para un compilador? :(

Por puertos se conoce comunmente cuando un compilador puede compilar código que tendrá como destino otro microprocesador/microcontrolador.

Por ejemplo el SDCC tiene puertos para micros 8051, PICs, Zilog Z80 , Motorola hc08 y otros.


:)




- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: RTOS para PIC GNU
« Respuesta #59 en: 06 de Febrero de 2007, 02:57:13 »
He descargado tus interesantes ejemplos Darukur y les he echado un vistazo por encima.

Estoy pillando conceptos poco y poco; ya sé qué es el Scheduler, para qué sirve el evento Yield, y la mecánica de crear tareas. Pero hay un concepto que no pillo: ¿qué son y para qué sirven los semáforos?