As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm aware that there are programable calculators but are there any calculator sized (prehaps bigger) devices that could compile C code?
Almost anything that has a decent sized processor (32-bit) and an operating system that gcc supports can be made to compile C/C++ etc listed here. The tricky parts are:
You need enough storage to have sufficient libraries etc to make it worthwhile. (RAM may also be an issue in some cases, especially if you try to compile LARGE sections of code).
Getting the code onto the device - if you are just copying files over, then it's no big deal, but if you need to actually type code in, you will need a keyboard and a screen.
I personally prefer to use a device to log into my desktop over the internet. As long as you can convince the machine to run ssh or putty (which should work on a lot of things - I can do it on my feeble Android phone - there are versions of Windows phone, iphone and Nokia/Symbian phones can do it too). Now you can compile code on your desktop machine from wherver you are...
Haven't you heard of the Raspberry Pi?
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
Ive been searching around and I couldnt find anything on how to really begin programming for the Odyssey 2. I thought it was be kind of fun to mess around with one, to maybe try and program a simple game. But I wanted to know how I could begin. Like for example what is the console coded with, assembly? C?
Is there any example code online? Are there some tutorials?
I have been trying to find some, but have had no success.
It has only 64-bytes of memory, so yes, you need to use assembly.
There is an open-source, well commented game Kill the attacking aliens which should help you get started. When in doubt, you can also check the source codes of Odyssey² open-source emulators o2em.
There is also a good deal of documentation of the system here (this page in particular).
It has an Intel 8048 CPU, so you're probably pretty much stuck with assembly language -- I don't know of any compilers that target an 8048, and with only a couple hundred bytes of RAM available (only 64 bytes of that for general-purpose use), it doesn't seem like a good target for a compiler either. There are a few 8048 assemblers around, mostly of them freely downloadable. You can also dig up a few Odessey 2 emulators if you do a little looking (again, at least some are free).
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I was recently given the source code for an audio decoder which executes fine with on Windows when compiled with MSVC.
I was assigned the job of porting this decoder (which is written in c) to the ARMv7 platform.
Since I'm totally new to this field, I'm not sure how to go about doing this. I have already googled a lot, but could not find much that applied to my particular case.
Any suggestions about how to pull off such a port would be greatly appreciated.
Compile it and see what breaks is a good place to start.
ARM is a 32 bit target and off-the-shelf ARM based micro-controllers are invariably little-endian like x86, so there are generally few issues porting code.
If the code makes OS calls to Win32, or uses third-party libraries not ported to ARM, then of course you will need to remove those dependencies or port to the target environment. Similarly if the code makes use of the PC based hardware, such as the sound card, that will certainly need to be adapted.
Code and algorithms that simply processes data should port directly if the code quality was sufficiently portable in the first instance. Undefined or implementation defined compiler behaviour however will need to have been be avoided, since this is likley to differ between compilers and targets.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm looking for the Linux distro that will fit me the best.
The OS will run on an old desktop with a 3.xGHz Intel Pentium 4 processor with 1 gig of ram, so no tremendous system. I plan to use it primarily for surfing the web (not games or anything) and develop software in primarily C. I want the OS to come with the entire GCC toolchain, or a package manager that makes it really easy to install (like APT).
And I don't want any visual effects or fancy desktop graphics or anything. I wouldn't mind it being simpler than Windows XP... or at least, it should be really easy to turn of all desktop effects and such.
Thanks,
Benjamin.
I use classic debian (squeeze) it is very lightweight and very stable.
It's a matter of opinion.
I know some people like Ubuntu, and think it has all you ask for. I'm sure other distributions aren't bad either.
Ubuntu would be my choice. Lightweight enough to run on a computer with your specs, yet robust. Give that a shot.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I have embedded developement board (LPCXXXX) with me. I would like to do various experiments with that. I am not getting experiment ideas.
Please suggest me some good websites where I will get some good project/experiment ideas. I am looking for embedded system projects with source code in internet.
I am unable to find it.
Please help me where I will get embedded system project with source code (Video tutorial is an added advantage)
:-In tag I have added C because I did not find EmbeddedC tag.
Try Martin Thomas's ARM Projects site for a number of projects specifically for various LPC devices and also other ARM micro-controllers which could easily be adapted for LPC.
That's a rather broad question as you don't give much about what aspects of the embedded project you're looking for. The Kernel? The OS (making it small with things like busybox)?
But one good reference might be the Raspberry Pi project you might have heard about recently. It has it's linux kernel published, along with all the necessary OS components.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I've got a C++ app that ships on Windows and OSX. It communicates with our backend using TCP (encrypted with OpenSSL, natch). I'd like to throw up some speed bumps for folks who are trying to reverse engineer the protocol and/or disassemble the executable.
Skype does an excellent job of this, which is why you won't find a lot of apps that speak skype. Here is a really good read about what it does: http://www.secdev.org/conf/skype_BHEU06.handout.pdf
I'd like some ideas about how to accomplish similar stuff our app. Are there commercial products that make code harder to statically analyze? What is the best way to invest my time to accomplish the goals I've listed?
Thanks,
Some simple suggestions for OSX:
Prevent gdb from attaching to your program
http://www.steike.com/code/debugging-itunes-with-gdb/
(this can be worked around, but will keep some casual explorers away)
Have at least some of the code in your product stored outside the text segment of the executable, for example in data, or in an external (encrypted) shared library.
Minimally protect any sensitive string data by not storing it in plain text. Run "strings" against your executable, and if you see anything that might be helpful to someone trying to figure out the protocol, encrypt it.
GCC's -fomit-frame-pointer option can make debugging more painful (but can interact badly with C++ exceptions).
If I remember correctly Skype is using something similar (maybe they pay them to implement it in Skype, who knows) to "Code Guards" described in:
https://www.cerias.purdue.edu/tools_and_resources/bibtex_archive/archive/2001-49.pdf