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