element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Embedded and Microcontrollers
  • Technologies
  • More
Embedded and Microcontrollers
Embedded Forum Embedded C book or course
  • Blog
  • Forum
  • Documents
  • Quiz
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Embedded and Microcontrollers to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Suggested Answer
  • Replies 12 replies
  • Answers 4 answers
  • Subscribers 464 subscribers
  • Views 269 views
  • Users 0 members are here
  • embedded c
Related

Embedded C book or course

Jairo
Jairo 4 days ago

Hi, could you recommend me an embedded C book or course?, a time ago I read a book about C but was not oriented to embedded (I work with microcontrollers)

  • Sign in to reply
  • Cancel

Top Replies

  • michaelkellett
    michaelkellett 2 days ago +3 suggested
    The general purpose books are fine, and worth reading - if you plan to buy one I suggest at least considering "Modern C, Jans Gustedt, third edition, ISBN 9781633437777", it's only just become available…
  • beacon_dave
    beacon_dave 4 days ago +2 suggested
    Microchip have some online C programming courses, which may be a starting point or refresher. https://mu.microchip.com/page/development-tools
  • shabaz
    shabaz 4 days ago +2 suggested
    Would also suggest, pick up a couple of normal C and C++ books, plus Python, can recommend the classics Brian Kernighan and Dennis Ritchie as well as Bjarne Stroustrup as well as the very much beginners…
  • beacon_dave
    0 beacon_dave 4 days ago

    Microchip have some online C programming courses, which may be a starting point or refresher.

    https://mu.microchip.com/page/development-tools

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • shabaz
    0 shabaz 4 days ago

    Would also suggest, pick up a couple of normal C and C++ books, plus Python, can recommend the classics Brian Kernighan and Dennis Ritchie as well as Bjarne Stroustrup as well as the very much beginners book Problem Solving and Program Design in C by Jeri R. Hanly and Elliot B. Koffman. And then have GNU C/C++ toolchain tutorials (can be online) at a minimum, make sure it includes make and gdb. All of this is not embedded, but they are the extra tools in your bag that will help.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • beacon_dave
    0 beacon_dave 4 days ago in reply to shabaz

    I appear to have this one by Elecia White in my further reading to do list:

    https://www.oreilly.com/library/view/making-embedded-systems/9781098151539/

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • Jan Cumps
    0 Jan Cumps 4 days ago in reply to beacon_dave

    I have that one too. I read it Slight smile.

    I got mileage out of the power saving parts of that book, and the general principles. 
    I haven't seen a better generic embedded book yet.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • shabaz
    0 shabaz 4 days ago in reply to beacon_dave

    That looks interesting! And a lot more modern hehe.

    Just remembered one more book that was invaluable to me indirectly; uC/OS by Labrosse. Although I barely used that OS, it taught how OS's worked, which really gets one into very simple OS principles, regardless of the specific microcontroller or OS. It could also be supplemented with more theoretical/academic books on OS principles depending on how interested one is in that area (worth just getting a pass to a uni library and seeing the books there, to get an overview). Also one soon sees the similarities with other OS's, and the commonalities in OS system calls, by reading around without too much care if it's embedded focused to a degree. 

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Jan Cumps
    0 Jan Cumps 4 days ago in reply to shabaz

    Making Embedded Systems is unique in one way: it's not about code. I'd consider it an architecture book. For low power embedded systems with microcontrollers.

    The author says (paraphrased): once you developed a commercial design on an Arduino, you realise that it will not last on a battery for 1 day. Welcome to embedded design.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • kmulier
    0 kmulier 3 days ago

    My colleague and I wrote an online book about C coding for microcontrollers: embeetle.com/

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • michaelkellett
    0 michaelkellett 2 days ago in reply to kmulier

    I looked at your link but I didn't spot anything with special relevance to micro controllers - did I miss something ?

    MK

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • michaelkellett
    0 michaelkellett 2 days ago

    The general purpose books are fine, and worth reading  - if you plan to buy one I suggest at least considering 

    "Modern C, Jans Gustedt, third edition, ISBN 9781633437777", it's only just become available and its cost about £45 form Amazon. It's long, thorough and covers C23. If you want a comprehensive reference it won't be cheap, and you may as well get one that covers the latest C standard.

    But the issues of embedded code on micro controllers vary a lot depending on what you are doing. The current trend is towards treating micros like mainframes with complex layers of abstraction and huge efforts to hide the hardware. Zephyr and PlatformIO exemplify this approach. If you want to go that way I can't help you. 

    If, on the other hand, you want to control the micro yourself, at the register level, expect to invest much blood and sweat. Your reward will be 10x (absurd generalisation here) the performance on the right projects and you won't be replaced by an AI any time soon. Unfortunately, as Jan has observed, there are few books (I don't actually know of any) that will help you much. 

    App notes, articles and data sheets are likely to be your primary sources.

    MK

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • kmulier
    0 kmulier 2 days ago in reply to michaelkellett

    It is specifically written for microcontrollers. Some chapters focus on the language itself, other chapters dive into how that applies on microcontrollers.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube