Forums

hardware+software design

Started by pavan April 18, 2006
Dear All,
              I am Pavan, from India, really interested in embedded
systems. I am a beginner in this field. I ve known that embedded is
basically both hardware and Software working in unison and thus
completing the system. developing a software can be done using C, C++
and then cross compile into the Microcontroller being used.

 Now, hardware part is not known to me.

1. how do i start learning which all IC's  / other electronic
equipments should be used
2. How to connect them
3. How to build the circuit around any microcontroller.
4. are there any books teaching about the hardware part.
5. designing the hardware is tough, how can be made simpler, is there
any dedicated    website/ book to learn about the hardware

Also can anyone tell me what is RTOS. why is it required when we can
program in C or C++. when do we require RTOS.

Please give me details for the above questions.

thanking You

regards
Pavan

pavan wrote:

> Dear All, > I am Pavan, from India, really interested in embedded > systems. I am a beginner in this field. I ve known that embedded is > basically both hardware and Software working in unison and thus > completing the system. developing a software can be done using C, C++ > and then cross compile into the Microcontroller being used. > > Now, hardware part is not known to me. > > 1. how do i start learning which all IC's / other electronic > equipments should be used > 2. How to connect them > 3. How to build the circuit around any microcontroller. > 4. are there any books teaching about the hardware part. > 5. designing the hardware is tough, how can be made simpler, is there > any dedicated website/ book to learn about the hardware > > Also can anyone tell me what is RTOS. why is it required when we can > program in C or C++. when do we require RTOS. > > Please give me details for the above questions. > > thanking You
The embedded field is the crown of the career. The thing you do when you are familiar with all the parts. As you have listed, you need knowledge about the hardware and software skills. The embedded software is also a class of its own, there is no new() to get a few MBytes, in many cases you have to do with just a few kbytes. The software must not fail, it may have to run years without a reboot. Building an embedded system is a giant step further than just programming it. There the details of power consumption, fulfilling the EMC rules, getting parts that are also available in a couple years and so on are the daily bread. So, there is no need to target the embedded field right after study. You'll end there in a decade or two anyway. Rene -- Ing.Buero R.Tschaggelar - http://www.ibrtses.com & commercial newsgroups - http://www.talkto.net
pavan wrote:

> Dear All, > I am Pavan, from India, really interested in embedded > systems. I am a beginner in this field. I ve known that embedded is > basically both hardware and Software working in unison and thus > completing the system. developing a software can be done using C, C++ > and then cross compile into the Microcontroller being used. > > Now, hardware part is not known to me. > > 1. how do i start learning which all IC's / other electronic > equipments should be used > 2. How to connect them > 3. How to build the circuit around any microcontroller. > 4. are there any books teaching about the hardware part. > 5. designing the hardware is tough, how can be made simpler, is there > any dedicated website/ book to learn about the hardware > > Also can anyone tell me what is RTOS. why is it required when we can > program in C or C++. when do we require RTOS. > > Please give me details for the above questions. > > thanking You > > regards > Pavan >
An RTOS is a convenient way to switch from one task to another. The "RT" in RTOS stands for real-time. The special thing about an RTOS is that it lets you separate the development of your various tasks, but at the cost of supporting the RTOS and making sure that the RTOS will be able to do it's job. An alternative to an RTOS is to use a construct called a "task loop". In this case you have no OS at all -- you write a function for each task, which keeps track of where it is in it's execution and returns when it runs out of stuff to do or when it has used it's share of processor time. The task loop just spins through these functions; each function uses its stored state to run the appropriate code (usually with a giant case statement). The downside of this approach is that you have to be exquisitely aware of how much time each function takes to complete, to make sure that low priority tasks don't take too long. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Posting from Google? See http://cfaj.freeshell.org/google/