Newbie wonder if an Olinuxino board would be good for him ?

Started by hary, March 23, 2014, 03:17:18 PM

Previous topic - Next topic

hary

Hi everyone.

I wanted to learn about microcontroler so I've been playing with Arduino board till now. I'm still new at it, but bit by bit I'm learning.

I also want to understand more my computer, and so, I'm trying to use Linux instead Windows.

I think an olinuxino board could do the connection between my goal of learning Linux and at the same time working with my arduino board.

But I read on forum that people who would work on olinuxino and linux woudn't be beginner !

Of course, I've read some topic, but most of them are hardly comprehensible for me at the moment. I can't feel trough these diferent forum if I could  find help in case of a desperate situation.
With my Arduino board, I found good advice on forum. But from the beginning, I could understand some small bit about it. That's not really the case about Olinusino !

Maybe, I'd like to find some basic exercices first, making the Olinuxino board working by copying the SD card, then, going further by making/preparing the SD card myself, further then making it from scrach. Always to get more knowledge and understanding.

Do you think, it would be a good idea to start with ?

What do you think and what would be your advice ?


Many thanks.


ajeandet

Hello hary,

From what I understand, there are different things you want to learn.

  • Linux "administration"
  • Embedded development
  • C programming for both Linux and bare metal?
Depending on how much you are comfortable with this topics it could be quite difficult to start with it.
For linux administration an x86 computer with a good distribution is the best.
For Embedded development OlinuXino boards are very good.
For bare metal programming a board with a cortex-M3/4 (For examlpe:  https://www.olimex.com/Products/ARM/ST/STM32-P405) would be better.

Best regards,
Alexis.

hary

Thanks for the reply ajeandet.


Concerning :
    - Linux "administration"  ==> I've started to go to a club to swicth from windows XP to linux on my x86 computer

    - Embedded development   ==> I'm using my Arduino board right now, but would an olinuxino board  be better ?

    - C programming for both Linux and bare metal?  ==> I don't really understand what is bare metal. And yes I'd like to practice C programming, that one of the reason I've choosen the Arduino board.

But I thought the olinuxino board would be something between my Arduino and my x86 computer, allowing me to a better understanding of linux.

ajeandet

Hi,

Bare metal programming is what you do with Arduino, when you program a microcontroller without OS and you directly access to registers. I'm not an Arduino user but from what I see it seems to hide a lot of stuff, which makes it more user friendly but in my opinion you also miss some important stuff (If somebody knows well Arduino, is it true?).

The big difference between Linux and Bare metal, is that linux will makes much more easy GUI,Threading,file System... programming from C/C++ but for peripheral access such as SPI,I2C,ADC... you will face much more limitations and difficulties with Linux(in user space). Depending on what you want to do, it can be easier with Linux or more difficult. Sometime an OS like RTEMS could be a good compromise.

Anyway to start you can use an OlinuXino(Allwinner ones are also very good) and then you will make your own choice depending on what you want to do(your project). With the OlinuXino you will be able at least to start quickly.

Best regards,
Alexis.

hary

Thanks so much for your reply ajeandet.

So, Yes, I want to do bare metal programming, like is my goal to do with my Arduino.
You're right, Arduino hide a lot of stuff. But at least, it gives me some basics knowledge in C, and I hope one day I'll be able to play with registers.

Since i'm more interested in computer in industrial environment, driving power stuff, relays, MOSFETs, reading temperature, lighting LEDs, displaying information on LCD and so on, I understand from what you explain, that in fact, bare metal programming is better choice for me.

I was thinking about olinuxino because I want to learn about linux and I need a dedicated computer for that task. Plus I need a large and active community to be able to find help if needed to make it working.
The kind of stuff I've found with Arduino.
Plus I like the way of free stuff. I hate the fact that you're kept away from how things work !

I'll have a look at what RTEMS is.

Hary


lambda

Quote from: hary on March 24, 2014, 04:28:42 PM
So, Yes, I want to do bare metal programming, like is my goal to do with my Arduino.
You're right, Arduino hide a lot of stuff. But at least, it gives me some basics knowledge in C, and I hope one day I'll be able to play with registers.

I don't think "bare metal programming" is an either-or question. I switched from using microcontrollers to olinuxino because I expected complex systems could be developed more rapidly under linux then on bare metal. OTOH this got me info writting my first kernel driver (already accepted upstream). So I sure continued doing some "bare metal programming" but only where it actually made sense.

(The other reason I switched to olinuxino was, that I liked logging data and the microSD Card is quite handy
for that.)

Quote
Since i'm more interested in computer in industrial environment, driving power stuff, relays, MOSFETs, reading temperature, lighting LEDs, displaying information on LCD and so on, I understand from what you explain, that in fact, bare metal programming is better choice for me.

It really depends. If you have no tight real time requirements you can do all this things from within linux, even interactivly while logged into the system.

Quote
I was thinking about olinuxino because I want to learn about linux and I need a dedicated computer for that task. Plus I need a large and active community to be able to find help if needed to make it working.
The kind of stuff I've found with Arduino.
Plus I like the way of free stuff. I hate the fact that you're kept away from how things work !

I believe the linux skill you will need is using the shell. Once you are comfortable controlling computers remote via ssh you will also be comfortable working on your olinuxino and vice versa.

HTH,
Harald