What is an Operating System (with respect to embedded systems)? [closed] - operating-system

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 11 years ago.
I have seen Operating Systems described as "the software that controls the hardware". I don't understand what it really is however.
For example, if we are writing code for a calculator, if we write the code to implement the interface between the LCD and KEYPAD, that code is not considered an operating system is it?
what really does "Operating System" mean?

Jack, the wikipedia page on operating systems gives a pretty good overview to start with. To put it pretty simply, when you want to run multiple pieces of software on a single piece of hardware (in your case, the ARM chip) then something needs to control the access to the hardware. The operating system will schedule tasks and allocate hardware to allow the multiple different bits of software to co-exist peacfully. Without this control, there is no way to run multiple pieces of software at once. Your calculator example would not require an operating system, as it is a single piece of code to do a single job.
For compilers for the ARM devices, I would suggest looking at either GCC (which I believe can cross compile to ARM) or getting a development kit, which will likely come with a suite of tools to allow you to develop on it.
I'm afraid I can't help you on which version of ARM chips to choose though, as my experience with them is a little limited. If price of the hardware is an issue though, I believe the ARM 7 hardware will be cheaper, but it is always worth comparing.
Hope this helps.

Related

Phased Array System ToolBox. Overview [closed]

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 9 years ago.
I have a requirement where in I need to simulate a radar in real time. I am yet to start with Phased array system toolbox (waiting for evaluation license), but I had few questions about the this toolbox. It will be really helpful if you can answer them.
Does the tool box supports real time simulation
Support for the environment. What environmental factors it takes into consideration.
Support for fluctuating RCS.
Support for tracking the targets.
Support for transponder and skin modes.
I will start with the study once I get my hands on the toolbox but till then any inputs here will be greatly appreciated.
Phased Array System Toolbox is a very niche product, and I doubt you'll find much experience with it available on StackOverflow. Even within MathWorks there are only a handful of people who know anything about it.
Nevertheless, I would recommend that the best (in fact only) way to find out any details of it would be to contact MathWorks directly. If you'd rather not contact them via Sales yet, you can contact John Zhao, the Phased Array System Toolbox Technical Expert (one of the handful described above) directly via the product's Contact The Expert page.
I can tell you that since it is a System Toolbox, it will be providing much of its functionality via System Objects, which are typically designed to support real-time code generation when used together with MATLAB Coder. I have no idea about your questions 2-5.

Beginning PLC programming [closed]

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 10 years ago.
I'm getting interested in PLC programming and my idea is to just try it. Therefore I need to simulate some real system, because it's to soon to look for some hardware. This is how I wish to do it (example):
Simulate some real system, ie. water tank with bleed and inlet valves, some water level sensor of course. These are controled and checked by PLC.
PLC simulator to control valves and get values from sensor. Also send data to some HMI/SCADA (PLCsim ?)
Some software to program the logic into PLC. (Step7 ?)
Some GUI for end user to check values and control valves manually (InTouch ?, ControlWeb ?, WinCC ?, LabView ?)
I don't know if this is possible completely by using software and if there is a chance it will work. Your advices and ideas are appreciated.
Thanks
Definitely. If money is an issue, AutomationDirect.com has a new product called Do-more where the programming software is free (called Designer) and it comes with a free PLC simulator.
I would then recommend writing separate code-block(s) to simulate "the process", where the code-block(s) READ from Outputs (discrete and analog) and WRITE to Inputs (discrete and analog) based on the Output states (and time, and random external events - think butterfly effect).
Disclosure: I work for Host Engineering, developers of Do-more.
If money is NOT an issue, I know there are lots of PLC Simulators and Process Simulator software out there that somebody can probably recommend.

Writing an operating system for arm architecture [closed]

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 10 years ago.
How do I get started writing an operating system that runs on the arm architecture? I want to write a bootloader if possible and my own kernel. Can anyone help me get started?
I'd start by familiarising yourself with what is already out there - Linux is a good start. Look at the bootloaders used in the distributions on the rPi - what is used in Debian Squeeze for example, uBoot and BareBox. Another option is CFE - which is under BSD license and good during debugging/early development.
Another thing is to look at the ucLinux and ucLibC systems, along with buildroot and OpenWRT - all designed to squeeze it onto a small system.
Of course - building your own kernel - you are going to want to go far deeper - and spend time understanding MMU's, process management/multitasking, interrupts and so on. A good background in programming microcontrollers, a knowledge of assembler language and CPU/SOC architecture would be essential. With the ARM family - you'll want to know the various instruction sets supported, and which chips have features like MMU's, FPU's and similar.
Good luck - it sounds like an interesting project.

Why the programs which run on Windows don't run or MAC or Linux [closed]

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 10 years ago.
If the compiler converts the high level language (like C++, for example) to the machine code to be executed by the Microprocessor.
Why can't the programs which run on Windows run on Mac or Linux?
As long as a high-level program really is written 100% in C++ or another language and uses no external code at all, it is in fact relatively easy to make it compile on any OS with a compiler, and it will behave in the same way.
The difficulty is that virtually every program uses libraries of the OS, e.g. for Input/Output, UI drawing etc., and these are different on every OS under the sun. In practice, it is impossible to get anything realistic done in a computer program without taking advantage of the massive amount of helper code present in the OS, or in libraries shipped with the OS. This is what makes porting harder - usually not actually difficult, just tedious.
Because a lot of your calls are referencing elements of the OS.
Like drawing, acessing the filesystem. These calls have to be translated, like Java or Qt.

Building my first operating system [closed]

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 10 years ago.
I am a programmer with a good knowledge on Java, C, C++ and Ruby.
I know just got an idea of building an operating system, so I bought an empty hard disk and I connected to my SATA cable removing it from my old hard disk. I am somewhat aware of assembly language.
Now my problem is how to start my first program on the hard disk just like adding two numbers or something. Previously, I used micro processor kit to write my assembly level programs (also used MASAMS software).
Will you please let me know for the bare system without any kernel only by having some boot startup program in motherboard how to write programs?
I would suggest starting with a virtualization approach though, it will be much easier to debug and build for.
Once you have something a little more stable you can try it out on actual hardware.
Apart from reading up on the topic (I suggest buying a book or two), maybe you can start by looking at existing projects such as GeekOS for inspiration.
Good luck with your venture!
What you probably want is to write a boot sector program. This should help you. Also note you won't have any of the OS's facilities for printing to the screen so you will need to use the BIOS functions. I recommend you use a VM first instead until you get it right before trying to do it on an actual hard drive. Good luck!
I recommend you to start from MikeOS . It has preliminary introduction to assembly programming and all the tools you need to start your own OS ( including assembler, pc emulator, etc ), and also a very simple operating system which helps you to dive in .
After that, when got familiar with basics, you may want to take a look at OSDev for much more serious stuff . There a lot's of tutorial in there that you can make use of.