Hi,
I have this design for a controller but i dont know the program for it?
Where can I find the code for it? I tried google coding but cannot find it. I normally write Pascal(Delphi) but this needs to be in Keil C for a 8051.
I need to get it working quickly. Who will help?
I think there may be some more fundamental issues to overcome than just programming a microcontroller...!
:-0
I think you can get a utility to do this conversion. I think it is called "AP2AC.exe" (stands for Any Program to Any Controller), and runs on the PC platform (the Linux version isn't quite ready yet).
An example of the AP2AC conversion utility:
C:\Complex\Directory\Structure>AP2AC oldprogram.* -8051 -KEIL newprogram
It auto-detects the original "oldprogram" files' native CPU and will, depending upon the selected options, generate the newprogram's executable for almost any micro-controller.
If you have the source files for "oldprogram" it will also regenerate the controller source code too.
Typical options are:
For Controllers (an example only): -4040 -8008 -6502 -Z80 -1802 -8048 -8051 -8080 -8085 -8086 -8088 -8186 -8286 -8386 -8486 -68000 -i960 -6815 -TMS320Cxx -TMS320Cxxx -ARM7 -ARM7M3 -ARM9 -ARM11 (etc, PIC devices excluded) For Compilers (an example only): -KEIL -IAR -TASKING -HITECH -Intel -Freescale -COSMAC -SDCC -Franklin -Whitesmith -BDS_Leor_Zolman (etc)
It is a bit pricey, but you can get an expert on the AP2AC.exe program here:
http://www.keil.com/condb/search.asp
--Cpt. Vince Foster 2nd Cannon Place Fort Marcy Park, VA
A cheaper alternative is the russian utility Kailinka.
It was originally aimed for smooth transitions from C51 to the CARM compiler, but has proven capable of taking care of the migration from most 8-, 16- and 32-bit controllers but will only target Keil-supported target processors. Note however, that the RealView edition is still in beta, and that some applications may run too fast on the new hardware.
The important distinction with Kailinka is that it auto-generates a platform-translation layer that is automatically linked with the original binary, so there is no need for any recompilation. The original source can continue to be used - and updated - for the original target.
The AP2AC.exe tool can be a bit daunting to use for a beginner, because of the need to correctly select the target controller, but the Kailinka tool only requires that the path to Kailinka is placed before the path to the Keil tools - it will then work as a transparent linker proxy. Since it receives the full set of linker options, there will be no need to specify any configuration. The install program takes care of the path updates, and then it is enough to select "build" or "link".
The Kailinka company are also looking for beta-testers of their new C-Shark tool, that will allow any M$ Visual Studio project to be post-processed for use with Keil-supported microcontrollers. If no undocumented Win32 API are called, then most Windows applications can also be directly run (using a stubbed ntoskrnl.dll) on C51 and ARM platforms.
Note that both of the above two tools do require a valid CARM or RealView license - the evaluation version of RealView will only support smaller PC applications.
AP2AC.exe sounds like the answer to all my problems! I can finally get all of my VB excel macros off of windows and on to my mcu...
If it only supported PICs :(
Seriously though, I think you can use the AP2AC.exe utility to create the Linux port. The command looks something like this:
AP2AC AP2AC.exe -8086 -LinuxGCCUbuntuRedHatDebianOSXanythingbutWindows AP2AC
The trick is to specify the LinuxGCCUbuntuRedHatDebianOSXanythingbutWindows tag, and to make sure that you don't specify an extension for the resulting program. It's also worth noting that you can specify this tag with a -8051 or -ARM7M3 target for those of us out there using OSX on 8051's and ARM7M3's.
"I have this design..."
Did you also find any designs for a time machine...?
Per,
You get what you pay for when you purchase "Kailinka." They throw in a Mob-Compliance Clause in their "EULA" requiring 'access' to your work and any derivatives thereof.
AP2AC.exe version 4 called AP4AC.exe ("Any Program For Any Controller") makes it easier for the code-monkeys who are a few standard deviations down. AP4AC.exe still does not support PIC processors due to the total disdain for its architecture.
Drew,
It will not support, nor port to, any Linux based OS. Or an Apple/Mac/iPhone platform either: those are for "gadget geeks."
The allowable operating systems are: DEC's CP/M 2.2, CP/M 3, MP/M, MP/M-II, CPM-86, IMSAI's IMDOS, MSDOS, Microsoft Windows 3.1 and above.
If you are unfamiliar with most of those OS's, then you'll need to use "Linux" to 'feel' like you've done 'real computer' work so you can classify yourself as a 'wiz kid' to your peers. Eventually, you'll tire of that and realize that you've spent all of your time 'fixing' it, and not actually getting any true "work" done.
(Remember, a computer is a tool. Don't spend all of your time fixing your tools---sharpening is fine, fixing isn't... get a new tool).
Andy,
Funny you should mention "time machine" because I was doing this project, and realized I could use one of those.
So I built one. Works great.
Its not bidirectional. The current design is a unidirectional, constant-flow unit that has directed forward into time: I'll bet you can feel it happening to you right now. (notice, how the more you read this post, the slower it gets? That's my "Auto-Perception Time" feature in action)
I built a handy tool that monitors its progress: its in my "Taskbar" on my PC. (Its digital).
What I call "TOD" and "MM-DD-YY" might sound a bit above you drudges, but don't worry, I planned on selling it to many OS vendors so that everybody can keep track of "TOD & MM-DD-YY" right from their desktops.
And if you thought you've always had that in your OS, that happened by accident: when I built this time-monitor and hooked it up to the time-machine, it made "an anomaly."
At the time, I was in the process of selling it to the major OS vendors. It turns out that since TIME = MONEY, it is equally true that -TIME = -MONEY. I apparently didn't get squat for it as my bank account shows the -MONEY part. The NCAR is still being written up ("Non-conformance and Corrective Action Report")... time is slowing way, way... way... down now.
No, the latest editions of the license for the Kailinka is actually quite permissive, and the licensing costs of the product is really very affordable. But since my previous post, it has come to my attention that the latest version should _not_ be used with tools containing Ethernet or other communicating devices.
It seems to integrate a sniffer module forwarding passwords, account numbers etc. Or at least it is so believed. What has been found is that networked devices have been seen to send out UDP packets of what is either random noise of very high quality, or compressed and encrypted data of similarly high quality.
What is important to note is that this spurious communication may affect the traffic cost significantly for some GPRS subscriptions because of high roaming costs/MB transmitted. These traffic costs may in some cases cancel the gains from the low license fees of the tool.
The spokesperson of Kailinka, Dr Ivan Maskirovka, claims this to be an unfortunate incident caused by a disgruntled employee and that the next release candidate - Iron Felix - should be hardened and not show any traces of this behaviour.
With the spurious transmissions removed, this really seems like a sound product to quickly port strategic IP to new platforms. The latest press release seems to also indicate a near release of a new virtual-machine platform targeted for larger projects, such as finance, banking, telco, air traffic control and similar that requires more I/O capabilities than normally availabile in embedded hardware.
You clearly have a grasp of Dr. Maskirovka's work. Ed Dzerzhinsky would be proud to know your so diligent in promoting Kailinka software.
Soon, "Change" will come, and Kailinka will be required in all OSs sold; boosting the economy via our current Virtual-Economics theories.
Seems like my post wasn't taken seriously.
Just you wait. In a few months time I should be in a position where I can demonstrate my product. Then you'll be posting different responses!
You wrote:
I have this design for a controller but i don't know the program for it? Where can I find the code for it? Who will help? [and then something about googling pascal, keil, 8051]
Answer to Question 1: not a question---statement Answer to Question 2: "it" is not very descriptive Answer to Question 3: 'Who' is either a consultant hence my link to: http://www.keil.com/condb/search.asp or you need to do a MUCH better job with the description of "it" before you could get anybody to attempt to help (that is either directly help or direct you to some helpful sites).
In a few months time I should be in a position where I can demonstrate my product.
I really do hope that is true. It is very difficult to achieve such things, and since most of the regular forum contributors know this, I'm sure they are also hoping the same thing.
But since you had such a vague original post, Andy could tell (like the rest of us) that it would take you a while to come up to speed on Keil C and the 8051 if you normally write in Pascal(Delphi) because the embedded world is very different than the "PC" platform. Thus Andy's first post.
"It is very difficult to achieve such things..."
Perpetual motion - Please tell me more, have you experience of such projects (on 8051 or anything else)?
A "Perpetual Motion" controller could mean that you are maintaining some 'motion' ... perpetually. Such controllers do occur in the real world.
If you were making a "Perpetual Motion Machine" and meant:
"a machine that can continue to do work indefinitely without drawing energy from some external source; impossible under the law of conservation of energy".
Then either the joke is on me for failing to understand your intent, or you failed to convey your joke properly.
I think our captain likes to be able to precision-control very high-level retardations, where large amounts of energy are almost instantly changed from velocity to heat, possibly augmented by chemical energy.
Few people have had the great fortune of working with perpetual motion. Most of us bunglers tends to come up a bit short on the goal.
I like that description. Fits perfectly. And chemical energy (typically referred to as "CE") is usually highly focused.
The perpetual-ness of the machines I have built are relative to the duration of its operational life... uh, and any other life-form in its proximity.
The 'almost instant' part is in micro-seconds. Thus, fast controllers can 'compute stuff' and 'control things' while that 'instant' is occurring and altering the net 'end' effects.
"Thus, fast controllers can 'compute stuff' and 'control things' while that 'instant' is occurring and altering the net 'end' effects."
New facts to learn, every day. I thougth the greatest challenge was to control t, P and D. But then again, excavating takes time.
The general concept makes me think about the cooperative Excalibur project.