>
> *> 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?*


No. Natively means in this case the beaglebone would be compiling the code.
Example:


   1.  Code written on any type of system - We'll assume x86 PC, running
   Linux, OSX, or Windows. External hardware / operating system does not
   really matter, as the code is just a plain text file, using a specific
   extension based on which language you're writing code for.
   2. You then move the file to the target - In this case, the beaglebone
   black.
   3. Once the source file(s) are on the target, you then compile the
   source file(s) ( code ) into a binary executable the target can execute.

I do believe you *can* transfer files between systems using serial, however
I have never really looked into this as I have had no need ( yet ). I use
ethernet, and there are many different ways to use ethernet to transfer
files between systems. Mainly for this situation, I use Samba
http://en.wikipedia.org/wiki/Samba_%28software%29 , But I also use NFS
http://en.wikipedia.org/wiki/Network_File_System , and sometimes sshfs
http://en.wikipedia.org/wiki/SSHFS

In the case of Windows<->Linux Samba , on the Windows side, you can mount
the Linux Samba share on a Windows machine as it were a local drive. That
is to say, you can use it as if it were local storage.  So long as you have
Samba configured correctly, and both machines are running at the time.

My setup is rather complex for a beginner to understand, but in a nutshell,
I run a Linux machine that hosts the root file system for the beaglebone
black. This is what I use NFS for. This same Linux machine also runs a
Samba share of this top level root file system directory. Where then my
Windows machine picks up the share, and uses it as local storage.

So then, I actually have several NFS shares for various builds / purposes.
"Production", and development as two examples. But using these two
examples, allows me to develop binaries from my development share, to be
used on the production share. The immediate benefit of this is that I can
keep my "production" image as small and minimal as possible. While still
having the ability to compile code natively. This is where sometimes sshfs
comes in handy, Mostly though I use sshfs when I introduce yet another
Linux system into the mix . . . Certainly you could "get away with" only
using two systems. However I do have method to my "madness". Mostly, I like
to keep my dev systems separate, from the other systems I use.

Don't worry if you do not under stand everything I explained above. Time
with Linux will eventually teach you everything you'd ever want to know.

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

> 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.
>

-- 
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