Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of An Embedded Software Primer

    An Embedded Software Primer

    David E. Simon · 1999

    Software EngineeringElectronics & HardwareProgramming
    Open LibraryAmazon
    Stats for nerds
    3recommend
    3mentions
    3people
    2012years
    100% recommend

    What Hacker News says

    1. robomartinNov 2012
      OK, if you don't have any real experience in low-level embedded coding (relevant to device drivers), RTOS or OS design in general, file systems, data structures, algorithms, interfaces, etc. And, if you have "hobby level" experience with Assembler, C and C++. And, if your intent is to write a desktop OS, from the ground up, without making use of existing technologies, drivers, file systems, memory management, POSIX, etc. Here's a list of books that could be considered required reading before you can really start to write specifications and code. Pick twenty of these and that might be a good start.

      In no particular order:

      1- http://www.amazon.com/C-Programming-Language-2nd-Edition/dp/...

      2- http://www.amazon.com/The-Answer-Book-Solutions-Programming/...

      3- http://www.amazon.com/The-Standard-Library-P-J-Plauger/dp/01...

      4- http://www.amazon.com/C-Traps-Pitfalls-Andrew-Koenig/dp/0201...

      5- http://www.amazon.com/Expert-Programming-Peter-van-Linden/dp...

      6- http://www.amazon.com/Data-Structures-In-Noel-Kalicharan/dp/...

      7- http://www.amazon.com/Data-Structures-Using-Aaron-Tenenbaum/...

      8- http://www.amazon.com/Mastering-Algorithms-C-Kyle-Loudon/dp/...

      9- http://www.amazon.com/Code-Complete-Practical-Handbook-Const...

      10- http://www.amazon.com/Design-Patterns-Elements-Reusable-Obje...

      11- http://www.amazon.com/The-Mythical-Man-Month-Engineering-Ann...

      12- http://www.amazon.com/The-Programming-Language-4th-Edition/d...

      13- http://www.amazon.com/The-Standard-Library-Tutorial-Referenc...

      14- http://www.amazon.com/API-Design-C-Martin-Reddy/dp/012385003...

      15- http://www.amazon.com/The-Linux-Programming-Interface-Handbo...

      16- http://www.amazon.com/Computer-Systems-Programmers-Perspecti...

      17- http://www.amazon.com/System-Programming-Unix-Adam-Hoover/dp...

      18- http://www.amazon.com/Memory-Programming-Concept-Frantisek-F...

      19- http://www.amazon.com/Memory-Management-Implementations-Prog...

      20- http://www.amazon.com/UNIX-Filesystems-Evolution-Design-Impl...

      21- http://www.amazon.com/PCI-System-Architecture-4th-Edition/dp...

      22- http://www.amazon.com/Universal-Serial-System-Architecture-E...

      23- http://www.amazon.com/Introduction-PCI-Express-Hardware-Deve...

      24- http://www.amazon.com/Serial-Storage-Architecture-Applicatio...

      25- http://www.amazon.com/SATA-Storage-Technology-Serial-ATA/dp/...

      26- http://www.amazon.com/Beyond-BIOS-Developing-Extensible-Inte...

      27- http://www.amazon.com/Professional-Assembly-Language-Program...

      28- http://www.amazon.com/Linux-Kernel-Development-3rd-Edition/d...

      29- http://www.amazon.com/Version-Control-Git-collaborative-deve...

      30- http://www.amazon.com/Embedded-Software-Primer-David-Simon/d...

      31- http://www.amazon.com/Programming-Embedded-Systems-C/dp/1565...

      32- http://www.amazon.com/Making-Embedded-Systems-Patterns-Softw...

      33- http://www.amazon.com/Operating-System-Concepts-Abraham-Silb...

      34- http://www.amazon.com/Performance-Preemptive-Multitasking-Mi...

      35- http://www.amazon.com/Design-Operating-System-Prentice-Hall-...

      36- http://www.amazon.com/Unix-Network-Programming-Sockets-Netwo...

      37- http://www.amazon.com/TCP-Illustrated-Volume-Addison-Wesley-...

      38- http://www.amazon.com/TCP-IP-Illustrated-Vol-Implementation/...

      39- http://www.amazon.com/TCP-Illustrated-Vol-Transactions-Proto...

      40- http://www.amazon.com/User-Interface-Design-Programmers-Spol...

      41- http://www.amazon.com/Designing-Interfaces-Jenifer-Tidwell/d...

      42- http://www.amazon.com/Designing-Interfaces-Jenifer-Tidwell/d...

      43- http://www.amazon.com/Programming-POSIX-Threads-David-Butenh...

      44- http://www.intel.com/p/en_US/embedded/hwsw/software/hd-gma#d...

      45- http://www.intel.com/content/www/us/en/processors/architectu...

      46- http://www.intel.com/p/en_US/embedded/hwsw/hardware/core-b75...

      47- http://www.hdmi.org/index.aspx

      48- http://en.wikipedia.org/wiki/Digital_Visual_Interface

      49- http://www.amazon.com/Essential-Device-Drivers-Sreekrishnan-...

      50- http://www.amazon.com/Making-Embedded-Systems-Patterns-Softw...

      51- http://www.amazon.com/Python-Programming-Introduction-Comput...

      52- http://www.amazon.com/Practical-System-Design-Dominic-Giampa...

      53- http://www.amazon.com/File-Systems-Structures-Thomas-Harbron...

      54- ...well, I'll stop here.

      Of course, the equivalent knowledge can be obtained by trial-and-error, which would take longer and might result in costly errors and imperfect design. The greater danger here is that a sole developer, without the feedback and interaction of even a small group of capable and experienced programmers could simply burn a lot of time repeating the mistakes made by those who have already trenched that territory.

      If the goal is to write a small RTOS on a small but nicely-featured microcontroller, then the C books and the uC/OS book might be a good shove in the right direction. Things start getting complicated if you need to write such things as a full USB stack, PCIe subsystem, graphics drivers, etc.

      thread
    2. jberrymanSep 2012
      I just got "an embedded software primer" by david e. Simon and absolutely love it so far.

      Depending on how much your course is oriented to electronics vs. the programming side of things, it may not be appropriate, but the first few chapters are about hardware and signals. If the class is built around playing with arduino,say, I think it would be great.

      thread
    3. sownJun 2012
      So I've spent most of my years as an embedded and linux kernel engineer but I think I'd like to make a move to web-apps.

      About me: My favorite books is either O'Reilly's Programming Embedded Systems in C/C++ or "An Embedded Software Primer". Perhaps even old, old, old issues of Dr. Dobbs.

      I learned programming by doing, not reading endless amounts of theoretical material about it, so any kind of materials that emphasize doing is preferable. I've been going through Udacity's CS253 course and found it neat and very helpful. I've searched around for info about the web-app front end material but none of it really crystallized for me or I just found it to be really boring. Perhaps you know of some better ones?

      Any help would be appreciated.

      thread

    Related

    Cover of Patterns for Time-Triggered Embedded Systems
    2013–2025

    Patterns for Time-Triggered Embedded Systems

    Michael J. Pont
    3 recommend · 11
    Cover of Making Embedded Systems
    2012–2026

    Making Embedded Systems

    Elecia White
    10 recommend · 13
    Introduction to Embedded SystemsEdward A. Lee
    2019–2026

    Introduction to Embedded Systems

    Edward A. Lee
    3 recommend · 11
    Cover of The C Programming Language
    2007–2026

    The C Programming Language

    Brian W. Kernighan
    246 recommend · 604
    Cover of Embedded Linux primer
    2017–2023

    Embedded Linux primer

    Christopher Hallinan
    3 recommend · 3
    Cover of The art of programming embedded systems
    2009–2021

    The art of programming embedded systems

    Jack G. Ganssle
    2 recommend · 3
    Cover of Test-driven development for embedded C
    2011–2023

    Test-driven development for embedded C

    James W. Grenning
    6 recommend · 13
    Cover of Designing Data-Intensive Applications
    2014–2026

    Designing Data-Intensive Applications

    Martin Kleppmann
    457 recommend · 846