08-30-2017, 09:46 PM
(This post was last modified: 08-30-2017, 09:52 PM by MarkHaysHarris777.)
(08-30-2017, 10:43 AM)Siliconserf Wrote: OK, I'm working with Theologeek to see about getting involved in porting to the A64. My problem is I'm good on C, C++, and asm, but for embedded systems and Windows. Not much experience at all with Linux (part of the reason for becoming interested in the Pinebook.) I'll need someone to work with to understand the low level glue stuff like support files and configuration issues. Also, I have no idea at the moment where to get the open source cross compiler and project management software to run under Windows 10.
I'm going to answer your questions in reverse or, sentence by sentence; in general, and I do mean this in the generous spirit of right good will-- you're going to want to dump windows; windows will only get in the way, constrain you, and force you to use paradigms which are out-moded and which are not helpful. Hint.
You will want to use a unix-like OS; freeBSD, OpenBSD, Mac OS, or any of a number of flavors of gnu+linux. So, first let's mention gnu + linux. Linux is just the kernel; NOT the system. The system is primarily two things in a modern environment: 1) GNU, and 2) Systemd. You are going to want to learn those two components, and they are a steep learning curve. Find a good "Learn Linux in Five Days" course on-line; it will jump-start you; I can recommend two or three if you're interested.
Ok, answers to your questions, in reverse:
(1) You have three choices for open source compilation development software, in no particular order, LLVM based clang, Apple's (C|C++ -like) "Swift," and GNU's gcc. These are freely available for virtually all platforms these days ( but not all ). I use LLVM, clang, and gnu C|C++ ( gcc ). These will run right there on your Pinebook !
(2) In the old days newbies needed to learn the unix filesystem, permissions, and sysvinit. Today the filesystem and permissions are still paramount but in a modern environment you will also need to learn Systemd-- I can only overstate this pedantically about 100 times, don't ignore it. I'm willing to work with you and help you come up to speed, but caveats are 1) I won't do your work for you, and 2) I won't help you struggle with proprietary systems development models like Windows.
3) Like anything, you will gain gnu+linux experience by gaining experience ( pedantics ) Rome wasn't built in a day, and there is no royal road to geometry.
4) If you're good at C, C++, and Assembler-- that's 3/4 the battle; gnu+linux just makes using those tools cleaner, and easier. If by "embedded systems" you are referring to the sketches on the Arduino Uno, yes, programming on a unix-like environment is significantly more difficult. You have something more than setup() and loop().
5) Porting codes to Arm gets tricky because many of the underlying dependencies of the original build environment are not available for Arm; if you can build them yourself, great, but if not you'll need to find an alternative or scrap the project until your skills improve ( or get a project partner who can fill in the gaps ).
Again, sorry to be pedantic ( its really not my intent ). I'm just trying to be complete; you asked a mouth-full !
marcushh777
please join us for a chat @ irc.pine64.xyz:6667 or ssl irc.pine64.xyz:6697
( I regret that I am not able to respond to personal messages; let's meet on irc! )
please join us for a chat @ irc.pine64.xyz:6667 or ssl irc.pine64.xyz:6697
( I regret that I am not able to respond to personal messages; let's meet on irc! )