Getting started with Olinuxino, some practical and tactical q´s

Started by johnjonh, December 30, 2012, 01:04:18 AM

Previous topic - Next topic

johnjonh

Hello all

Been reading this forum for a couple of days, really impressed with the level of knowledge here.

Short description: I´m an avid ARM-hobbyist. My main interest is GUI´s, particularily how to make them as cheap as possible. The target environment is machine automation.

So far I haven´t really been interested in embedded Linux, because the hw needed to run has been "too expensive" for the applications that interest me. But that has been changing fast. Raspberry Pi is the wrong kind of platform for me, but Olinuxino seems to have all the right properties.

I´d like your opinion on the following:

1) do you think Android will completely replace embedded linux in the future ? Will we see Android as the OS of choice in set-top boxes and other non-mobile hw targets ? Are there any reasons why this would NOT happen ?

2) Which Olinuxino board do you recommend ? Is the Wifi version the obvious and only choice as it is the most versatile ? (I like small things so the micro version is also appealing)

3) How difficult is it to drive other kinds of tfts/lcds with the olinuxino boards ? Will I need to learn writing linux device drivers right out of the starting gate ? To understand why I´m asking this, I have used uCOS&ucGUI so far and ofcourse I have direct access to HW pins of the ARMs... I do not yet have an idea of how the equivalent is done within the linux environment.

Thank you for your enlightened replies, will be ordering my olinuxino board shortly.

John

(edit:typo removed)


saand

Hi John,
Welcome, i am kind of new myself but getting up to speed using the A13 board at the moment.

I agree a few years ago the hardware to run an OS like linux has been significantly more expensive than other alternatives. Recently however as you suggest it looks like a processor that can run linux is the same cost and sometimes cheaper (due to volume production) than alternatives like typical microcontrollers.
I initially looking into running the A13 with no OS but came up against issues with finding info on how to do that.
Looks like using linux is a better way to go if whatever your trying to do will suit.

Regarding your questions
1) I am sure others know much more about the plans for embedded linux than i do but for my uninformed opinion. I would guess Embedded linux will continue to be developed as a good base for hardware that isn't mobile phones/ tablets ... I dont know for sure but i presume embedded linux is more flexible and suited to non mobile hw targets. (I am more than happy to be proven wrong here )

2) I very strongly recommend getting the wifi version of the A13 board while your developing. Its difficult, time consuming and annoying to develop with the A13 board without the nand flash and wifi as i am unable to get programs onto an SD card easily (or at all at the moment). When you have finished developing then choose the hardware that most suits your application (or design your own hardware, since the schematics and PCBs are all open source, olimex makes this very easy)

3) I believe different LCDs have a fairly similar control method, the LCD driver at the moment i hope is relatively generic. If it isn't you should be able to tweak the LCD driver.
If you plan to use embedded linux you will need to use a driver to control the LCD. If you plan to control your LCD by bit banging the data out by controlling hardware pins. I suspect this will take up a lot of your CPU time. I did a quick google of creating drivers for linux, there are some very good tutorials out there if you do need this.
Its possible a nice person on this forum will help you with a driver modification if needed.


Have a look at the wiki if your after more generic info or tutorials, i have been trying to add anything that i see is proven and useful to others.


jwischka

John -

Quick answers to your questions:

1) Simply put, no. In an embedded sphere, Android has few if any advantages over Linux, and some key disadvantages. If you are looking at doing some nice graphical development, then Android may be better for your particular application, but for many applications (especially headless ones), Android is simply the wrong way to go. One of the key disadvantages is that Android applications don't really run natively (rather, they run in the Dalvik VM), which gives them a distinct performance disadvantage over Linux applications. Again, for most applications, performance disadvantage means you are spending more on hardware than you need to, which in an industrial application eats into your profit. In other words, Android and Linux will both probably have a place in the embedded universe, but it is very, very unlikely that Android will ever replace embedded Linux - or frankly overtake it, at least for the *majority* of embedded applications.

2) Honestly, if you are looking at anything that is going to drive a large range of devices, I would look more toward something like the BeagleBoard than the Olinuxino. I think it's telling that the guys at Olimex are headed toward the TI chip in their next development board, and I think it's absolutely the right move. Allwinner's support on the A13 chip - both in documentation and especially in driver support - is abysmal. If you run into anything that requires additional support at the kernel level, you are going to be much better supported on the TI platform than the A13. Additionally, while the theoretical performance of the A13 is much greater than that of the OMAP3530, the poor kernel support hurts the A13 significantly. Moreover, in boards like this, my experience is that RAM is a far greater performance factor than the actual speed of the chip. In fact, I'd probably rather have the new Raspberry Pi with 512MB of ram than the Olinuxino, simply due to better software support and the ability to adjust the amount of RAM that is directed to the GPU.

3) You can have access to the direct hardware pins, if you would like. There may also, depending on your hardware, be driver support available, though all applications I work with are headless, and I could care less about video output - meaning I'm not really sure about how interfacing with LCDs would work, and haven't bothered to find out. Again, however, if you are concerned about drivers, I would suggest either waiting until Olimex puts out a TI-OMAP based board (which has *much* better support) or looking at a BeagleBoard. The A13 is, in my opinion, a little flaky for a production product, at least at this point.

Quote from: johnjonh on December 30, 2012, 01:04:18 AM
Hello all

Been reading this forum for a couple of days, really impressed with the level of knowledge here.

Short description: I´m an avid ARM-hobbyist. My main interest is GUI´s, particularily how to make them as cheap as possible. The target environment is machine automation.

So far I haven´t really been interested in embedded Linux, because the hw needed to run has been "too expensive" for the applications that interest me. But that has been changing fast. Raspberry Pi is the wrong kind of platform for me, but Olinuxino seems to have all the right properties.

I´d like your opinion on the following:

1) do you think Android will completely replace embedded linux in the future ? Will we see Android as the OS of choice in set-top boxes and other non-mobile hw targets ? Are there any reasons why this would NOT happen ?

2) Which Olinuxino board do you recommend ? Is the Wifi version the obvious and only choice as it is the most versatile ? (I like small things so the micro version is also appealing)

3) How difficult is it to drive other kinds of tfts/lcds with the olinuxino boards ? Will I need to learn writing linux device drivers right out of the starting gate ? To understand why I´m asking this, I have used uCOS&ucGUI so far and ofcourse I have direct access to HW pins of the ARMs... I do not yet have an idea of how the equivalent is done within the linux environment.

Thank you for your enlightened replies, will be ordering my olinuxino board shortly.

John

(edit:typo removed)

John24

As a mobile app development company, when getting started with Olinuxino, there are a few practical and tactical considerations to keep in mind. Firstly, it is important to ensure that you have the necessary technical expertise and equipment to work with the Olinuxino platform. This may include knowledge of Linux operating systems, programming languages such as C and Python, and experience with embedded systems development. Additionally, it is important to familiarize yourself with the specific features and capabilities of the Olinuxino board you will be using, as well as any accompanying software development kits or libraries.
Once you have the necessary knowledge, you can start to develop your app, testing and debugging it on the board. Also, keep in mind that Olinuxino is open-source, the community is important, so you should join the community and use their resources, such as forums and documentation, to find answers to any questions or issues that may arise during the development process.

In summary, a mobile app development company should have technical expertise, necessary equipment and familiarize with the Olinuxino platform, its features and capabilities, testing, debugging and joining the Olinuxino community to get started with it.