PDA

Ver la versión completa : [Ayuda] Aprender sistemas embebidos



Endher
14/09/2014, 14:07
Buenas!

Llevo un tiempo con ganas de aprender a programar sistemas embebidos, pero ahora además estoy viendo que es un tema bastante demandado en el sector en el que trabajo (automoción) por lo que es momento de ponerse a estudiar. Soy ingeniero electrónico y de lenguajes útiles para estas aplicaciones me manejo bastante suelto principalmente con C++ y en menor medida C, pero más allá de eso no sé ni por donde empezar debido a la ingente cantidad de información que hay.

Estaba pensando en comprar una placa de desarrollo económica para poder hacer pruebas con hardware-in-the-loop y a partir de ahí instalar un sistema operativo en tiempo real (dudo entre FREERTOS y Xenomai, la primera por ser muy común y la segunda opción por ser la que se usa en mi curro), y había pensado en el Odroid U3. Principalmente porque está bien de precio, es potente y además se le puede instalar Ubuntu ARM y ROS, para otro tipo de usos que le quiero dar.

Como veis estoy MUY pez con el tema, y como no he encontrado a nadie que me ayude de verdad a empezar me encomiendo a vosotros :D

Saludos!

Limonetti
14/09/2014, 14:56
Supongo que depende de lo que quieras abarcar, de los conocimientos que partes, de las aplicaciones que pretendes hacer, de si te quieres comer la cabeza con la arquitectura del micro o no...

¿Tienes alguna idea en mente de lo que querrías hacer con la Odroid?

Aviso de que me meto en el hilo para acompañarte porque mi estado es también de pez. Estoy seguro de que por este foro entra gente mucho más capaz para orientarte que yo.

Endher
14/09/2014, 23:44
A ver si encontramos a alguien que nos guíe en nuestro camino, pues :D.

Mi idea es no comerme demasiado la cabeza con el micro en estos momentos. Tanto en mi tesina del máster como en algunos proyectos que he llevado por mi cuenta me he dedicado a desarrollar algoritmos relacionados con la robótica (especialmente navegación y planificación de trayectorias) en MATLAB y posteriormente en C++. Mi intención era utilizar una placa que permita instalar un kernel de linux y hacer un port de mis algoritmos a esa placa, adaptándolo además a las particularidades de un sistema operativo en tiempo real. Además me viene muy bien profesionalmente hablando porque en lo mío está muy demandado.

Limonetti
15/09/2014, 00:00
Entonces ya lo tienes muy encaminado.

Se me ha hecho raro en un principio porque para lo que buscas creo que lo más común es ir a Raspberry. Por que es lo más económico y donde más soporte se puede encontrar. Hay montones de alternativas, pero bueno, como partes ya de trabajo hecho y vas a algo muy especifico supongo que es diferente.

Estaré al tanto del hilo para ver que se comenta por aquí. :D

Endher
15/09/2014, 00:06
Para mi el problema de la Raspberry es que a nivel de potencia se me queda muuuuuy corta para las cosas que hago. Y ya si le metes ROS la pobre se suicida. Por eso había pensado más en cosas como la Odroid U3, que por 65$ (luego hay que añadir memoria, carcasa y demás, unos 100$ en total) tienes un Quad Core ARM a 1.7GHz (o 1.4, no recuerdo bien) y 2Gb de RAM, además de soporte para Ubuntu 14.04 ARM y soporte testeado de ROS Indigo. Pero como no tengo experiencia en este tipo de cosas tan específicas prefiero preguntar por si alguien me puede aconsejar :)

cyantum
15/09/2014, 21:30
Justo el mes que viene la UOC empezará un curso de introducción a la programación de sistemas empotrados (van por la tercera edición del curso). El curso durará 4 semanas y creo que, para empezar en este "mundillo", no está nada mal. De lo que no estoy muy seguro es si en el precio de la matrícula se incluye el kit que se necesita para el curso, casi aseguraría que sí, pero no lo puedo asegurar al 100%. En cualquier caso en la página siguiente tienes información del curso y una dirección de e-mail por si necesitas que te resuelvan alguna duda:

Cursos: http://cc.uoc.edu/
Curso Intro sistemas empotrado: http://cc.uoc.edu/introduccion-a-la-programacion-de-sistemas-empotrados-y-sistemas-operativos-en-tiempo-real-3a-edicion/

Espero que te sirva :)
¡Un Saludo!

FlipFlopX
16/09/2014, 02:51
Sistemas empotrados == C si no quieres asm sobre arm. Yo la rasp y las placas para android no las toco por el tema adquisición de datos, que con un arduino mega y para temas de domótica voy sobrado, pero porque todo lo muevo a bajo nivel y hay librerías muy curradas, tampoco necesito potencia, no sé como funciona el GPIO de la rasp, pero eficiencia, cuanto más te alejes de C peor.