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.
