Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
03/16/05 19:43
Modified:
  03/16/05 19:44

Read: times


 
Msg Score: +1
 +1 Good Answer/Helpful
#89798 - Becoming effective with embedded C
Responding to: ???'s previous message
Grant Beattie said:
If hardware knowledge is important for embedded programming, so is software (knowledge of proper software design and implementation). I am constantly impressed by Keil and I try to use classic C programming techniques wherever I can (that is, except where necessary my code would look pretty similar on any target platform). I think it's important to understand the philosphies behind C and to a lesser extent C++ in order to write excellent code. If you are a self-taught C programmer then I urge you to take a class or two (say, at a university night class maybe?). Unfortunately it's equally important that the class instructor is versed in these philosophies and that can be hard to determine. :-( I started in hardware as an EE and later I was "reprogrammed" in software. It really opened my eyes.

The bottom line is that you will not succeed at writing performance-critical embedded applications in a high level language without an intimate understanding of the underlying hardware and how the high level language's constructs map to that hardware. For Keil C on the 8051, that means reading and understanding "the bible" and Keil documentation. It also probably means having at least written a few simple applications in 8051 assembly to get a real feel for the nature of the architecture.

Often, details of using high level languages on resource-constrained systems are not covered in university courses though. However, good coursework in embedded systems and programming/software engineering gives one the facilities necessary to understand and apply the concepts in the relevant documentation.

--Sasha Jevtic

List of 63 messages in thread
TopicAuthorDate
Optimized Code for Keil C Compiler            01/01/70 00:00      
   well            01/01/70 00:00      
      optimize Keil            01/01/70 00:00      
         Great suggestions            01/01/70 00:00      
            Have we been taken over            01/01/70 00:00      
               Thanks for great suggestion!            01/01/70 00:00      
                  SDCC without headaches...            01/01/70 00:00      
   student??            01/01/70 00:00      
      cost?            01/01/70 00:00      
      SDCC            01/01/70 00:00      
   C51 Primer            01/01/70 00:00      
   If you need to be optimum - don't use C            01/01/70 00:00      
      Search; Manual            01/01/70 00:00      
   does not jive            01/01/70 00:00      
   glue code            01/01/70 00:00      
   Post it if...            01/01/70 00:00      
   C limitations            01/01/70 00:00      
      Kind of is a problem            01/01/70 00:00      
         Poor old 'C'            01/01/70 00:00      
            I disagree            01/01/70 00:00      
               Let's talk about goto...            01/01/70 00:00      
                  file-scope globals            01/01/70 00:00      
            Asm vs C            01/01/70 00:00      
               absolutotally beautiful            01/01/70 00:00      
               Asm vs C            01/01/70 00:00      
                  Old Chestnuts            01/01/70 00:00      
                     perfectly valid for a one man project            01/01/70 00:00      
                        many men            01/01/70 00:00      
                        re my above post            01/01/70 00:00      
                     Known to every 'C' programmer            01/01/70 00:00      
                        Asset or Liability?            01/01/70 00:00      
                           Standard library a liability?            01/01/70 00:00      
                              C Library            01/01/70 00:00      
                                 ASM library            01/01/70 00:00      
                                    Libraries            01/01/70 00:00      
                                       Or not            01/01/70 00:00      
                                          Stuff            01/01/70 00:00      
                                          My Stuff            01/01/70 00:00      
                           Certainly not a liability!            01/01/70 00:00      
                  Passe            01/01/70 00:00      
                     Graphics and Hieroglyphics...            01/01/70 00:00      
                        I disagree!            01/01/70 00:00      
                           Fully agree            01/01/70 00:00      
                              Graphical design & code-generation            01/01/70 00:00      
                                 Here is some appple to apple comparison            01/01/70 00:00      
                                    a small correction            01/01/70 00:00      
                                    Apples vs Apple Trees?            01/01/70 00:00      
                                    OT labview            01/01/70 00:00      
                                       OT- Replied...            01/01/70 00:00      
      gurus            01/01/70 00:00      
         Best Person for the Job            01/01/70 00:00      
            Best of both worlds            01/01/70 00:00      
               Becoming effective with embedded C            01/01/70 00:00      
      More thoughts on C            01/01/70 00:00      
         Software Engineering            01/01/70 00:00      
            Agree, with caveat            01/01/70 00:00      
               One project, One file            01/01/70 00:00      
                  One project, One file - metalink            01/01/70 00:00      
                     Of course will do..            01/01/70 00:00      
                  One file development            01/01/70 00:00      
                  One project, Multiple files            01/01/70 00:00      
   In a land far far away....            01/01/70 00:00      
      some loon            01/01/70 00:00      

Back to Subject List