TJF, I am going to stick with a Linux desktop computer to connect with my
BBB. You're right. The Windows interfacing with the Linux device it a bit
complicated right now. Once I get the hang of it, I guess I experiment with
other OS. I searched alot on the internet - maybe not enough - but when I
look for BBB tutorials, most of them assume that the PC that the BBB is
interfacing with is a Linux machine. How come? I mean, is it a general
recommendation?

So it's alright to go forward with a Angstrom BBB interfacing with a Ubuntu
desktop computer. I'm thinking, not pursuing Virtual Machine but installing
only one OS on the desktop. Does VM perform the job as well, though?

:D The lengthy calculations refer to feature extraction of the signals
obtained through EEG data. And after feature extraction, applying a
classifier on them. There needs to be alot of reading and studying on that.
But thanks for giving me the heads up! i think I know somewhat where I am
headed.

On Mon, Jan 12, 2015 at 11:32 PM, Mehreen Qayas <[email protected]> wrote:

> Willam Hermans, thanks for very thorough response. I have to dig in deep
> for the terms and study about gcc tool chains, cross-compiling kernels and
> natively compiling on the BBB before I can ask any more specific questions.
> Your answers have been a great help. Much appreciated.
>
> I have one last question about the example you gave of compiling the code
> on BBB after transferring it from the Windows computer in a text file. How
> do you transfer this file - say through LAN or serial connection, once it
> is transferred, how are you compiling it? I'm confused about who is
> controlling the compilation of the code on the BBB - your desktop, correct?
>
> On Sat, Jan 10, 2015 at 1:29 AM, William Hermans <[email protected]>
> wrote:
>
>> *Some would argue this is bad practice as Windows versus Linux line
>>> breaks can be different. But if you know how to deal with this, there is no
>>> problem ( UTF-8 files )*
>>>
>>
>> Oh, and a good editor will ask you when you first set it up. What style
>> line breaks you want to use. Unix, Windows, and I believe a third options I
>> do not recall. Ofcourse, In this case, you'd wantto select UNIX style line
>> breaks.
>>
>> In case you're unfamiliar with what line breaks are . . . it's the "code
>> sequence" editors / OSes use when you start a newline by using the enter
>> key. Windows for instance uses ctrl + lf, where as I believe Linux just
>> uses lf.
>>
>> On Fri, Jan 9, 2015 at 1:15 PM, William Hermans <[email protected]>
>> wrote:
>>
>>>
>>>>
>>>> *And thank you for your response William Hermans.*
>>>>
>>> *I have some questions. *
>>> *-When I am using a windows machine and I need to write a code for a
>>> Linux machine, I require cross-compiling?*
>>>
>>>
>>> No. I recommend cross compiling the kernel on a PC however. The reason
>>> is simple. It would take days to compile the kernel natively. Also, the
>>> person( Robert C Nelson ) who "maintains" the current shipped images for
>>> the beaglebone blacks ( among many other devices / boards ) has excellent
>>> instructions on how to set this up.
>>> https://eewiki.net/display/linuxonarm/BeagleBone+Black
>>>
>>> So for instance Most of the applications a single developer will write,
>>> will take mere seconds to compile natively on the Beaglebone black. Then
>>> some larger project such as say Nodejs, will take 30-60 minutes to compile
>>> natively. In the above Nodejs case you need to weight your options while
>>> considering cross compiling. Are you very familiar with gcc toolchains, and
>>> setting up a cross compile toolchain, or would you have to spend days,
>>> weeks, or possibly months to figure this out ? In my own case, I know how
>>> to setup gcc to a point, but figured my time would best be served just
>>> doing native compiling, and moving on to my next hurdle - if any.
>>>
>>> Anyway, I could go on for days about the various aspects of how, when,
>>> or why ( or even why not ) to cross compile. So, I'll just leave it at this
>>> for now and wait for specific questions.
>>>
>>>
>>>
>>> *-What is your recommended choice for a text editor on a windows
>>>> machine?*
>>>>
>>>
>>> I recommend whatever you feel most comfortable with. Personally I prefer
>>> sublime text 3, as I also prefer dark themes while writing code( easier on
>>> the eyes ). Also you can use it as a simple editor, or use some of the more
>>> advanced features such as multi line editing ( at once ), or even use vim
>>> inside the editor. It's called classic mode or something like. Anyway, this
>>> is more than just about the editor in this case as it has binaries for
>>> Linux, and I think OSX too. for Windows It is kind of hard to explain, but
>>> its part esthetics, part feeling "polished", and generally my ability to
>>> get things done faster while working in Windows in this capacity. This
>>> would probably more of a subjective type thing. But having years ( well
>>> over 15 ) experience with Linux, and Windows, I prefer my desktops to be
>>> Windows, while most / all my server, and some of my workstation stuff to be
>>> done under Linux.
>>>
>>>
>>> *-You said you compile your code natively on the BBB, what does that
>>>> mean? You mean uploading/burning the code?*
>>>>
>>>
>>> > This means you use the compiler(s), provided by the OS you're using,
>>> on the hardware your using it on. In this case, you'd use the armhf
>>> versions of the gcc toolchain as provided through the Debian package
>>> manager APT. So as a simple example. You write the code in text format on a
>>> Windows machine, potentially. Then you move these files over to the
>>> Beaglebone black, where you then compile the code with whatever compiler
>>> you need to use. Some would argue this is bad practice as Windows versus
>>> Linux line breaks can be different. But if you know how to deal with this,
>>> there is no problem ( UTF-8 files )
>>>
>>> *-Finally you mentioned, "you wish to cross compile the kernel", can you
>>>> please elaborate that?*
>>>>
>>>
>>> I'm not sure what you're asking here. DO you not know what a kernel *is*
>>> ?
>>>
>>> *(Sorry about lack of knowledge of Linux & its code-compilation
>>>> procedures. I have been studying them but it helps a great deal to ask
>>>> people who have used it.)*
>>>>
>>>
>>> Let me just say that it would probably behoove you to pick up a good
>>> book on gcc toolchains. Which is something I've yet to do, but I've been
>>> lucky enough to know people who do, and having the chance to pick their
>>> brains once in a while. I pretty much cut my teeth on the gcc toolchain for
>>> the MSP430 launchpad as provided by the Energia project. Essentially, I did
>>> not like the Energia ( wiring ) IDE but the gcc 4.6 toolchain binaries
>>> provided with it worked very well. Also, when the beglebone black first
>>> came out, we got two, and I knew nearly nothing about embedded Linux. It
>>> just took some time, reading, and trial + error to figure out many of the
>>> things I understand today.
>>>
>>> One of the most memorable for me was reading through tons, and tons of
>>> uboot information. Trying to get NFS root working on our beaglebones. Until
>>> I finally understood enough to ask a decent question of Robert Nelson.
>>> Which he pointed me to a C header file that filled in all the blanks for me.
>>>
>>> Anyway, the over all point is - If you're willing / wanting to learn.
>>> Then you're pretty much in the right place with the beagelbone black.
>>>
>>> On Fri, Jan 9, 2015 at 10:54 AM, Mehreen Qayas <[email protected]>
>>> wrote:
>>>
>>>> And thank you for your response William Hermans.
>>>>
>>>> I have some questions.
>>>> -When I am using a windows machine and I need to write a code for a
>>>> Linux machine, I require cross-compiling?
>>>> -What is your recommended choice for a text editor on a windows machine?
>>>> -You said you compile your code natively on the BBB, what does that
>>>> mean? You mean uploading/burning the code?
>>>> -Finally you mentioned, "you wish to cross compile the kernel", can you
>>>> please elaborate that?
>>>>
>>>> (Sorry about lack of knowledge of Linux & its code-compilation
>>>> procedures. I have been studying them but it helps a great deal to ask
>>>> people who have used it.)
>>>>
>>>>
>>>> On Fri, Jan 9, 2015 at 10:46 PM, Mehreen Qayas <[email protected]>
>>>> wrote:
>>>>
>>>>> TJF,
>>>>>
>>>>> Thank you for your input. I do realize that my goals seem a bit
>>>>> ambiguous right now in reference to BBB, it is because I have a little
>>>>> difficulty understanding how it works. Having used the Arduino, I forget 
>>>>> it
>>>>> is not as easy as to write the code in an Arduino software and simply burn
>>>>> it to the board that is connected to my PC using the USB cable.
>>>>>
>>>>> My project is based on *Brain Computer Interface*: a headset will
>>>>> extract brain signals from a user, those signals shall be amplified,
>>>>> filtered, extracted and finally classified. These signals will then
>>>>> determine one out of the two movements to be performed on a robotic 
>>>>> gripper
>>>>> having (at the moment) two fingers and a thumb.
>>>>>
>>>>> *Previously, this project was done using offline data. Ours require
>>>>> processing those signals in real time.*
>>>>>
>>>>> My senior who pursued this project using Arduino Uno told me when I
>>>>> asked about:
>>>>>
>>>>> *- what is the microcontroller used for*The arduino was connected to
>>>>> a SD card shield that used SPI communication to transfer data from the 
>>>>> card
>>>>> to the controller. The card had a file with the EEG  raw data on it in 
>>>>> form
>>>>> of a text file.
>>>>> *- what was the input to your Arduino?*
>>>>> A text file with eeg raw data.
>>>>> *- what was the output?*
>>>>> A signal on a port that ran h-bridges. (h-bridge logic)
>>>>> (Yes, controlling a DC motor)
>>>>>
>>>>> --
>>>>>
>>>>>
>>>>> *-> *In reference to *using LINUX*, in the long run, I would like to
>>>>> shift to having Linux on my Windows PC but in VM. So my question is
>>>>> - I can have any distro provided that I need to connect to my Debian
>>>>> based BBB?
>>>>> - Say I want to install Ubuntu, but *which version* is compatible
>>>>> with my BBB?
>>>>> - When my BBB arrives, do I need to upgrade it? (You mentioned the
>>>>> newly shipped BBB come with Debian and not Angstrom anymore; it is going 
>>>>> to
>>>>> mention that, on the manual, yes?)
>>>>>
>>>>> *->*
>>>>> In reference to understanding some terms using a Linux machine to
>>>>> connect with a BBB
>>>>> - What is the substitute of an Arduino software where one writes code
>>>>> in c++ when using BBB?
>>>>> - How the code is burnt on the board? (i mean in the Arduino software,
>>>>> you would write the code and hit the button UPLOAD)
>>>>> - The connection you use is SSH?
>>>>> - You use your PC to write the code, and then transfer it to your BBB
>>>>> using SSH?
>>>>>
>>>>> (I read your answer about hosting the source files on the BBB. But I
>>>>> can't fully understand it so I asked the above questions. It means you are
>>>>> using your BBB as  stand alone machine. Writing your source code on it.
>>>>> Then transferring it to you PC using the LAN connection? How does SSH come
>>>>> in?)
>>>>>
>>>>> Thank you for your time and detailed response. They are a huge huge
>>>>> help.
>>>>>
>>>>>
>>>>> On Fri, Jan 9, 2015 at 1:47 PM, TJF <[email protected]> wrote:
>>>>>
>>>>>> I neither use a cross-compiling tool chain nor Eclipse IDE (too
>>>>>> bloated).
>>>>>>
>>>>>> My PC runs Xubuntu (LINUX). The BBB runs Debian (LINUX kernel
>>>>>> 3.8.13-bone37) and is connected over LAN. I host the source files on the
>>>>>> BBB (SD card) and load them over the LAN in to Geany IDE (on PC), writing
>>>>>> back over LAN as well. Then I compile on the BBB with a native compiler,
>>>>>> controlled by an SSH connection. Testing over SSH as well.
>>>>>>
>>>>>> Blacklib is a wrapper around the sysfs features (for easier access)
>>>>>> and therefor much slower than libpruio, which operates the hardware
>>>>>> directly (and in realtime for ADC samples).
>>>>>>
>>>>>> Should I shift to a a linux computer for this project? We are looking
>>>>>>> • to control a motor
>>>>>>> • generate PWM
>>>>>>> • access GIOP
>>>>>>> • perform lengthy calculations etc.
>>>>>>
>>>>>>
>>>>>> Shifting to LINUX is always a good idea.
>>>>>>
>>>>>> What do you mean by 'control a motor'? AC, DC, stepper, ...?
>>>>>> What do you mean by 'perform lengthy calculations'? Which input
>>>>>> (digital QEP or analog sensor)? (libpruio will have QEP support in next
>>>>>> version.)
>>>>>>
>>>>>> --
>>>>>> For more options, visit http://beagleboard.org/discuss
>>>>>> ---
>>>>>> You received this message because you are subscribed to a topic in
>>>>>> the Google Groups "BeagleBoard" group.
>>>>>> To unsubscribe from this topic, visit
>>>>>> https://groups.google.com/d/topic/beagleboard/kbnt9cjI2qs/unsubscribe
>>>>>> .
>>>>>> To unsubscribe from this group and all its topics, send an email to
>>>>>> [email protected].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>>
>>>>  --
>>>> For more options, visit http://beagleboard.org/discuss
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "BeagleBoard" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>  --
>> For more options, visit http://beagleboard.org/discuss
>> ---
>> You received this message because you are subscribed to a topic in the
>> Google Groups "BeagleBoard" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/beagleboard/kbnt9cjI2qs/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to