Joseph
Posts: 4
Joined: Sun Dec 25, 2011 3:06 pm

Re: How to schedule Raspberry Pi?

Sun Dec 25, 2011 3:21 pm

Google Translator:
Hi:
I wanted to ask you if you need an IDE to program specifically for Raspberry Pi or any IDE for linux (monodevelop) would suffice.

Español:

Hola:
Quería preguntaros si es necesario un IDE en concreto para programar para Raspberry Pi o con cualquier IDE para linux (monodevelop) sería suficiente.

User avatar
JeToMad
Posts: 14
Joined: Mon Dec 19, 2011 11:13 am

Re: How to schedule Raspberry Pi?

Sun Dec 25, 2011 5:22 pm

En principio necesitas un compilador para ARM (IDE puedes usar el que quieras). Tendrás que comprobar si monodevelop tiene soporte ARM. Y luego tienes que mirar si vas a compilar en la propia placa (que probablemente sea lento de narices) o en otro ordenador, haciendo cross-compiling (Esto es, compilando en un x86 por ejemplo el código para ARM). Ya te digo que lo fundamental es ver si el compilador que utilizan está disponible para este tipo de micro. Mira en su web si tienen soporte, o pregunta en sus foros.

Yo no es que sea un gran experto, pero llevo trabajando con placas similares unos meses, por lo que ya tengo un poco de idea. Si necesitas algo más, y quieres preguntar en español, mándame un mensaje si quieres. No te puedo decir que te vaya a contestar rápido (depende de como tenga el día) pero intentaré hacer lo posible.

Short translation (only brief idea):

You will need a compiler that has support for ARM architecture. Then you can use any IDE that works with that compiler. I don't know if monodevelop has support for ARM, so you will need to look at their site
Greetings from Spain!

Joseph
Posts: 4
Joined: Sun Dec 25, 2011 3:06 pm

Re: How to schedule Raspberry Pi?

Sun Dec 25, 2011 6:15 pm

Google Translator:

I am glad to find someone who speaks Spanish but I'll keep putting messages with the google translator. Atosigarte not plan the questions that are the only one who understands me. In addition, more people appear so well in Spanish speaking. Who knows xD

I do not think I have all the necessary data for a more specific answer to my question (for lack of experience in this type of plates) so that:

I read in the fac that Debian, Fedora and ArchLinux support to Raspberry Pi from the beginning.

I understand there, I hope not mistaken, that Raspberry Pi can run some versions of these distributions.

What I want to know is if I need a special compiler to create programs tailored to such distributions or Raspberry Pi which I will normally use such distributions in a normal pc.

I do not want to program directly to the plate, I doubt my head for that, but for distributions that are capable of running on Raspberry Pi.

I do not know if I explained well.

En español:

Me alegra encontrar a alguien que hable español pero supongo que seguiré poniendo los mensajes con el traductor de google. No es plan el atosigarte a preguntas por que seas el único que me entiende. Además, asi igual aparece mas gente hablando en español. Quien sabe xD

Creo que no he dado todos los datos necesarios para una respuesta mas concreta a mis dudas (por falta de experiencia en este tipo de placas) asi que:

He leido en el fac que Debian, Fedora y ArchLinux apoyarán a Raspberry Pi desde el principio.

Yo entiendo ahí, espero no equivocarme, que Raspberry Pi podrá correr unas variantes de esas distribuciones.

Lo que yo quisiera saber es si necesito un compilador especial para crear programas para esas distribuciones adaptadas para Raspberry Pi o  si me servirán los que uso normalmente para este tipo de distribuciones en un pc normal.

No quiero programar directamente para la placa, dudo que mi cabeza de para eso, sino para las distribuciones que sean capaces de correr en Raspberry Pi.

No se si me he explicado bien.

Tomo2k
Posts: 127
Joined: Mon Dec 19, 2011 10:00 pm

Re: How to schedule Raspberry Pi?

Sun Dec 25, 2011 6:57 pm

For C/C++, you can use GCC for ARM. This compiler will be included with the default installation of the Raspberry Pi.

A quick Google gave me this project, which seems to be a C# Mono compiler and runtime for ARM architecture:

http://www.mono-project.com/Mono:ARM

It seems likely that you will need to recompile monodevelop for ARM if you want to use it on your Raspberry Pi as I didn't find a mention of a monodevelop build for ARM. I have no idea how hard that would be.

User avatar
JeToMad
Posts: 14
Joined: Mon Dec 19, 2011 11:13 am

Re: How to schedule Raspberry Pi?

Sun Dec 25, 2011 8:06 pm

If you write a simple program, let's say, a typical "hello world" example, the code will be valid for both your desktop box and your RPi. But you have to compile it for each architecture: one time for the x86 or x64 that powers your desktop, and again for ARM in order to work with the RPi.

If you are used to work with windows and x86/x64, then you have never had this issue, and it's new to you, but as an example, when the new windows 8 knocks on the door (and if it is true thar runs on ARM) you will probably have the same issue.

So, as I said, you need to compile the code for each architecture. In this point is where you have to chose: native compiling on the Pi (Slower. Much slower, probably). or cross-compiling from your desktop.

Vamos a ver si nos entendemos :)

Si tu creas un programa, digamos el "hola mundo" típico, el código fuente será válido para cualquier distribución y cualquier máquina. Lo que no es válido es el mismo ejecutable. Ahí entra lo que yo te decía del compilador. Es decir, tu creas tu programa, por ejemplo en tu ordenador de casa. Supongamos que corres Ubuntu en él, por decir algo. Si tu programa usa librerias muy concretas, pues tendrás que mirar si están para otras distribuciones, pero supongamos que es lo bastante sencillo para que lo que necesites esté en todas ellas. Puedes ir generando el programa en ese PC, probándolo, depurando y tal, y cuando lo tengas listo, compilarlo para la RPi. Es decir, con el código fuente tendrías que compilar dos veces: una para la arquitectura x86 de tu máquina (o x64, lo que sea) y otra para la ARM del SoC de la RPi.

Probablemente estés acostumbrado a que tu compilas en windows y ese EXE te vale para cualquier equipo. Eso es porque windows lo usas siempre en máquinas x86 o x64. Pero por ejemplo, con el nuevo windows 8 que en teoría va en ARM también, pasará esto mismo: tendrás que compilar para la arquitectura que sea.

Esta parte (La de compilar para la RPi) es que te digo que puedes hacerla en la propia placa (copiando los fuentes, y compilando con GCC, por ejemplo), o en tu ordenador de sobremesa (mediante el cross-compiling que te decía).

Por cierto, el comentario anterior te cuenta el compañero que mono ha sido portado a ARM, pero no sabe nada de monodevelop. En cualquier caso, si al menos la librería está, es bastante probable que la opción del cross-compiling sea posible. Y SIEMPRE es más cómodo desarrollar en el PC que en la placa, salvo que vayas muy justo de recursos y quieras ver cada momento como tira el programa en la propia placa.
Greetings from Spain!

Joseph
Posts: 4
Joined: Sun Dec 25, 2011 3:06 pm

Re: How to schedule Raspberry Pi?

Mon Dec 26, 2011 12:34 am

Google Translator:

Ok. Now I think if I've caught. I've had problems at the time when switching from Windows to Ubuntu for library issues. Now I have to architecture xD

I guess I will do is create all the possible logic in ANSI C and then we'll worry about creating the visual theme in C, Prawns (like vb and runs on ARM), C # ... We, whichever is easier to use.

Greetings and thanks

En español:

Ok. Ahora creo que si que lo he pillado. Ya tuve problemas en su día cuando pase de Windows a Ubuntu por temas de librerías. Ahora me toca con la arquitectura xD

Lo que supongo que haré será crear toda la lógica posible en C ANSI y después ya me preocupare de crear el tema visual en C, Gambas (es como vb y corre en ARM), C#... vamos, el que resulte mas sencillo de utilizar.

Saludos y gracias

User avatar
JeToMad
Posts: 14
Joined: Mon Dec 19, 2011 11:13 am

Re: How to schedule Raspberry Pi?

Mon Dec 26, 2011 8:11 am

Si quieres poder compilar el mismo programa, sin tocar, para Ubuntu en escritorio y para la RPi, yo personalmente sólo he probado (en OMAP, concretamente) programando en en ANSI C toda la lógica, y la parte gráfica con GTK+. Además, en mi caso había ciertos requerimientos multimedia, para los que usé GStreamer, y en GStreamer si había que tocar alguna cosita, por temas de optimización de hardware, pero vaya, que el tema, pienso, es mirar cosas que te vayan a compilar sin tocar mucho. Python es otra opción si no quieres tirar por C para la lógica. Y si el Gambas este compila para ARM (Ojo si te piden ARMv7, la Pi creo que es ARMv6), pues otro más donde elegir.

Para las librerias, lo bueno es que aunque alguna pueda no estar para la distro que escojas, muchas veces bastará con que bajes los fuentes y la compiles tu...

Going English-mode now :)

If you want to compile the same program for both your desktop box and your RPi, you need to make sure you use toolkits and libraries that can be usable in both platforms. I have used, for OMAP SoC's GTK+ for the GUI, and plain C for the logic, and had no need to change the code (It was pretty simple). On the other hand, I used also GStreamer, and with that i needed to change some little things (video sink, as an example) due to hardware optimizations.
Greetings from Spain!

Joseph
Posts: 4
Joined: Sun Dec 25, 2011 3:06 pm

Re: How to schedule Raspberry Pi?

Mon Dec 26, 2011 3:35 pm

En español:

Solo he leido, en la comunidad hispana de Gambas, que permite ARM pero no cual. También permite GTK+ y QT.

Te leo y me parece que programar para este tipo de placas es 'tan facil' como pillar los fuentes de lo que quiera, buscar un compilador para el micro, compilarlo y... ala... ya tienes el programa que quieras en la placa que quieras.

Para el único micro diferente que he programado ha sido para un PIC con una tarjeta creada por mi mismo. Muy básica, puerto serie, varias entradas, varias salidas digitales y punto.

Supongo que el lío que me hago es el no entender del todo como funcionan este tipo de placas en las que puedes tener linux funcionando.

Bueno, que me desvio. Crearé la lógica en C ANSI, que es lo que conozco, y al final ya veré como creo la ventana con los cuatro botones.

Muchas gracias

Google Translator:

I've only read in the Hispanic community in Gambas, which allows ARM but not which. It also allows GTK + and QT.

I read and I think that program for this type of plaque is as easy as catching the source of what you want, find a compiler for the micro, y. .. compile wing ... already have the program you want on the plate you want.

As the only difference I've programmed micro has been for a PIC with a card created for myself. Very basic, serial port, multiple inputs, multiple digital and point.

I guess the trouble is I do not quite understand how this kind of plates you can have linux running.

Well, I detour. Create the logic in ANSI C, which is what I know, and at the end and as I see the window with four buttons.

thank you very much

Return to “Other projects”