TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Suky en 30 de Junio de 2009, 13:07:46
-
Hola compañeros, les traigo esta novedad, la nueva versión de OSA RTOS puede ser trabajada con el Compilador CCS para las familias 16F,18F y además es free :P
Mas información aquí (http://wiki.pic24.ru/doku.php/en/osa/ref/download/intro)
-
Hola habia estado tratando de compilar un programa en el cual uso rtos y usb pero siempre me producia un erros asociado al rtos_run() . Luego hice algo mas simple pq crei que podria ser por el tema de los 48mhz y bueno empeze compilado el condigo desde 20 mhz hasta 40 mhz (no se si haran cristales de 40 mhz ..) pero cuado intente hacerlo con 41 mhz comenzaron los errores que antes ya se me habian mencionado y cueno creo que el problema quizas pase por alli, con el tema de la frecuancia del ocsilador. Si alguien sabe algp agradeceria dicha ayuda o aclaraciòn
adjunto el archivo al final aparece el error antes mencionado
#include <18F4550.h>
//#include <18F452.h>
//#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#fuses HS,NOWDT
//#use delay(clock=20000000)
#use delay(clock=41000000)
//#use delay(clock=48000000)
//#use rs232(baud=9600,xmit=PIN_C6,rcv=PIN_C7)
// this tells the compiler that the rtos functionality will be needed, that
// timer0 will be used as the timing device, and that the minor cycle for
// all tasks will be 100 miliseconds
#use rtos(timer=0,minor_cycle=100ms)
// each function that is to be an operating system task must have the #task
// preprocessor directive located above it.
// in this case, the task will run every second, its maximum time to run must
// be less than or equal to the minor cycle, and there is no need for a
// queue at this point, so no memory will be reserved.
#task(rate=1000ms,max=100ms)
// the function can be called anything that a standard function can be called
void The_first_rtos_task ( )
{
// printf("1\n\r");
}
#task(rate=500ms,max=100ms)
void The_second_rtos_task ( )
{
// printf("\t2!\n\r");
}
#task(rate=100ms,max=100ms)
void The_third_rtos_task ( )
{
// printf("\t\t3\n\r");
}
// main is still the entry point for the program
void main ( )
{
// rtos_run begins the loop which will call the task functions above at the
// schedualed time
rtos_run ( );
}
//***Error 44 "ex_rtos_demo_1_task.c"Line 59(15,16):Internal Error -Contact CCS Built in call fail,rtos_run
//1 Error, 0 Warnings.
-
:-/ muy buena suky master!!
-
rodrigo_control2009 lee el siguiente hilo, esta dedicado a eso. Discusión sobre RTOS (http://www.todopic.com.ar/foros/index.php?topic=16080.0)
-
Ya lo tengo en mi poder, a ver cuando lo puedo ver por dentro, pero de inicio tiene cosillas que me gustan más que las del RTOS de CCS, como por ejemplo demoras del RTOS configurables, y prioridades en las tareas.
Me gustará eso es seguro
Saludos
Reinier
-
Ya lo tengo en mi poder, a ver cuando lo puedo ver por dentro, pero de inicio tiene cosillas que me gustan más que las del RTOS de CCS, como por ejemplo demoras del RTOS configurables, y prioridades en las tareas.
Me gustará eso es seguro
Saludos
Reinier
Si, si! También lo note! :mrgreen: Haber si me hago un tiempito para estudiarlo, tengo miles de cosas que hacer :8} También quiero postear un par de ejemplos que hice de RTOS CCS, mas o menos documentado así se entiende :mrgreen:
-
Gracias
N.N.D.
-
Buen día señores Todopic. Como siempre aprendiendo de ustedes. He leído los posts sobre RTOS que han publicado y me ha surgido una sugerencia. Hace un tiempo hice unas prácticas con el RTOS incluido en el ccs, pero aparte de los problemas de control de tiempos inherentes al diseño de este RTOS "enlatado", surgen varias cuestiones. Primero, Como dice el maestro Reinierlt este RTOS es bueno para la enseñanza pero seguro que una persona medianamente sensata lo pensará dos veces antes de hacer una aplicación seria con este RTOS. Segundo, como dije; el código es "enlatado", así que nos queda bastante complicado saber que cosas se hacen bien y que otras se hacen mal en el funcionamiento interno de la aplicación. Tercero, El FreeRTOS se muy bien pero de nuevo coincido con el maestro Reinierlt en que es un sistema bastante complejo para los novatos, especialmente para personajes como yo. Cuarto, El maestro Suky hace un gran aporte con la sugerencia del OSA RTOS (que no lo sugerí en su momento porque no estaba registrado en el Foro. XD). Además trae cuatro ejemplos de los cuales 2 rondan en youtube. Sólo escriban OSA RTOS y se darán cuenta (Me fascinó el video del videojuego hecho con un PIC18F2550). Ahora bien, aparte de que se puede tener el código, este tiene licencia FreeBSD, con lo que nos despreocupamos de los asuntos del copyright. Así que la sugerencia sería que los que estemos interesados en usar este RTOS nos colaboremos entre todos, porque hasta donde he revisado el código tiene una pinta excelente y se ve que ofrece mas seguridad a la hora de hacer aplicaciones serias. De mi parte quedé tan sorprendido con los videitos en youtube mostrando las capacidades de este RTOS, que estoy estudiando cada detalle de este y hasta me estoy leyendo la segunda edición del llibro "Sistemas Operativos" de Andrew S. Tanembaum y Albert S. Woodhull., que por cierto de esto les quiero preguntar algo a los que ya hayan usado bien un RTOS: Este libro es excelente, pero, sirve para entender como codificar sobre un RTOS??. Saludos.
-
Muchas gracias por el link, Suky.
Siempre he tenido como asignatura pendiente meterle mano a un RTOS y no veo el momento de hacerlo, pero me encanta cómo funcionan.
Y los vídeos del ruso con este OSA RTOS son espectaculares. Jamás hubiera pensado que eso se podía hacer con un PIC tan chico.
-
Está bárbaro, sobre todo el tema de Bach en ese tecladito :D Ahora ya me hizo calentar con ponerme en esto de los RTOS. Tendré que ponerme a investigar ejemplos como para agarrarle la mano.... Estuve leyendo un poco la ayuda y se ve bastante superior al del CCS
-
Estoy leyéndome la documentación del OSA y ... cuanto mas leo mas me interesa, mas me gusta y mas seguro estoy de que una parte importante de mis actuales problemas de programación se solucionarían, o estarían muy cerca de solucionarse con este RTOS. Continúo investigando ... :mrgreen:
-
Con la version 4.104 del CCS no funciona, lo acabo de leer asi que cuidado.
Gracias suky.
Salu2.
-
¿Alguien ya logró hacer algo con este RTOS?
Yo bajé los ejemplos e intenté compilar con el HiTech y no pude. Probé con la versión 9.60 tanto Pro como Lite y tira errores. Bajé la 9.70 y en versión Lite tira errores y la versión Pro se cuelga cuando hace uso del archvo CGPIC.EXE.
Lei que era un bug y había un supuesto link para bajar un update pero no funcionaba el link....
Probé tanto en XP SP3 como en Seven 64.
-
Hola Gente TODOPIC. AngelGris, te comento que yo si pude compilar el código del OSA RTOS pero en CCS versión 4.086. No conozco bien el uso del Hitech pero te sugiero que revises bien que puede estar pasando porque de mi parte con CCS compiló full. Solamente hice tres tasks de comunicación por puerto serial y funcionan bien los intercambios entre las tareas.Usé un PIC18f4520, aunque los simulé con varios micros, hasta con un PIC16F877A y funcionó perfecto. De momento hice sólo esa prueba que les acabe de describir ya que como dije en el mensaje anterior, apenas me estoy empapando de la teoría de sistemas operativos con el libro de Tanenbaum (que por cierto me gustaría escuchar alguna sugerencia al respecto), pero de seguro que cuando ya haya hecho algunas prácticas con temporizadores dinámicos, estáticos, de tareas, también con semáforos de palabra y semáforos binarios, y tambien con colas de mensajes y queues de mensajes; que es lo que me tiene ahora estudiando (aparte de la universidad y sus integrales dobles :shock: y el laburo como dicen en la hermosa Argentina!)les pasaré algunos ejemplos para que saquemos adelante este camino de OSA que está bien interesante. Saludos.
Nota: Lo que dice el compañero Jeremylf es cierto, el código de OSA no funciona bien con la versión 4.104 de CCS por problemas en el precompilador. ¿hasta cuando estas cosas :5]?
-
Pandemonium, gracias por la data del CCS, tendré que probar con ese compilador para ver que onda.... Con respecto a los que probé de HiTech supongo que será por un problema de versiones ya que en el help del OSA dice que es para la versión 9.70 Standar. Con la versión Lite no funciona (al igual que no funciona con las versiones anteriores a la 9.70). Pero con la Pro debería funcionar, sólo que se cuelga un archivo específico, que es el que ya lei en otros lados que tiene un bug así que habrá que esperar que la gente de Hitech solucione eso.
-
Pues otro que se suma al carro de este RTOS, la verdad es genial. Me lo pongo como asignatura pendiente con el objetivo de resolverlo antes de verano...!!
Gracias por la info suky!
-
Yo he decidido pasarme al FreeRTOS que tambien es libre, auque no tiene puerto para la familia 16 este RTOS es un cañón.
Para la familia 16 me conformo con el pequeñín que acompaña a CCS.
Sobre el libro de Tanenbaum, no tengo pegas, este señor es una cátedra en el campo de los sistemas operativos, pero no cabe duda que su libro no hace mucha referencia a los sistemas operativos para sistemas empotrados por lo que fuera de la teoría básica no hay más información para nuestro campo.
Por eso hay que leer muchas otras cosas de sobre todo de RTOSes, que tienen sus propias reglas, y como siempre digo a mis estudiantes, todo el conocimiento no lo encontrarán en una sola fuente de información.
Saludos
Reinier
-
Y yo recién me desayuno sobre las capacidades de un rtos ase un par de semanas vi la pagina del ruso este
http://www.pic24.ru/doku.php/en/osa/articles/vga_game
donde desarrolla bajo su rtos con un pic 18 ,video VGA(16 colores),sonido por PMW polifonico de 5(creo que realisa una especie de síntesis a partir de un cuarto de onda seno)y toda la logica del juego
me impresionó¡ y ya encare para aprendes el salvo rtos (por que se puede utilizar con hi tech )
-
agunas fotillos, fue motado con componenetes reciclados y a las apuradas :lol:
(http://img683.imageshack.us/img683/8273/38215521.jpg)
(http://img684.imageshack.us/img684/7269/p1080652.jpg)