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.
