<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-34654804</id><updated>2010-01-29T21:03:13.052-05:00</updated><title type='text'>state-space</title><subtitle type='html'>My main goal for this blog is sharing with you various thoughts, hints, and tips for improving the design of embedded software. I’ve been through academia, big corporation, Silicon Valley startups, and finally my own business, so I’ve seen quite a bit.</subtitle><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default'/><link rel='alternate' type='text/html' href='http://embeddedgurus.net/state-space/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://EmbeddedGurus.net/state-space/atom.xml'/><author><name>Miro Samek</name><uri>http://www.blogger.com/profile/08368476192107788179</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-34654804.post-6312745067188973153</id><published>2010-01-29T14:27:00.000-05:00</published><updated>2010-01-29T14:32:17.397-05:00</updated><title type='text'>Free store is not free lunch</title><summary type='text'>In my previous post "A Heap of Problems" I have compiled a list of problems the free store (heap) can cause in real-time embedded (RTE) systems. This was quite a litany, although I didn’t even touch the more subtle problems yet (for example, the C++ exception handling mechanism can cause memory leaks when a thrown exception bypasses memory de-allocation).But even though the free store is </summary><link rel='related' href='http://www.embeddedgurus.net/state-space/2010/01/heap-of-problems.html' title='Free store is not free lunch'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/6312745067188973153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=34654804&amp;postID=6312745067188973153' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default/6312745067188973153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default/6312745067188973153'/><link rel='alternate' type='text/html' href='http://embeddedgurus.net/state-space/2010/01/free-store-is-not-free-lunch.html' title='Free store is not free lunch'/><author><name>Miro Samek</name><uri>http://www.blogger.com/profile/08368476192107788179</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02130476538562136550'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34654804.post-2228830350728991806</id><published>2010-01-24T17:24:00.003-05:00</published><updated>2010-01-24T18:01:23.184-05:00</updated><title type='text'>A Heap of Problems</title><summary type='text'>Some design problems never seem to go away. You think that anybody who has been in the embedded software development business for a while must have learned to be wary of malloc() and free() (or their C++ counterparts new and delete). Then you find that many developers actually don't know why embedded real-time systems are so particularly intolerant of heap problems.For example, recently an </summary><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/2228830350728991806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=34654804&amp;postID=2228830350728991806' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default/2228830350728991806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default/2228830350728991806'/><link rel='alternate' type='text/html' href='http://embeddedgurus.net/state-space/2010/01/heap-of-problems.html' title='A Heap of Problems'/><author><name>Miro Samek</name><uri>http://www.blogger.com/profile/08368476192107788179</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02130476538562136550'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34654804.post-9006129745821559273</id><published>2009-11-27T12:13:00.002-05:00</published><updated>2009-11-27T12:18:26.433-05:00</updated><title type='text'>A nail for a fuse</title><summary type='text'>If I were to search my soul, I'd have to admit that the use of assertions has helped me more than any other single technique, even more than my favorite state machines. But, the use of assertions, simple as they are, is surrounded by so many misconceptions and misunderstandings that it's difficult to know where to start. The discussion around the recent Jack Genssle's article "The Use of </summary><link rel='related' href='http://www.embedded.com/columns/breakpoint/221800158' title='A nail for a fuse'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/9006129745821559273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=34654804&amp;postID=9006129745821559273' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default/9006129745821559273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default/9006129745821559273'/><link rel='alternate' type='text/html' href='http://embeddedgurus.net/state-space/2009/11/nail-for-fuse.html' title='A nail for a fuse'/><author><name>Miro Samek</name><uri>http://www.blogger.com/profile/08368476192107788179</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02130476538562136550'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34654804.post-3928158056950758009</id><published>2009-04-28T13:26:00.002-04:00</published><updated>2009-04-28T14:09:40.653-04:00</updated><title type='text'>Cute Creator</title><summary type='text'>For a long time I've been looking for a good cross platform development environment that would allow fast exploration and navigation of C/C++ source code, not just editing of individual files. For a while I though that Eclipse will fit the bill, but as I wrote previously, the CDT (C/C++ Development Tooling) was really disappointing for me.In this post I'd like to tell you about my recent big hope</summary><link rel='related' href='http://www.qtsoftware.com/products' title='Cute Creator'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/3928158056950758009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=34654804&amp;postID=3928158056950758009' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default/3928158056950758009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default/3928158056950758009'/><link rel='alternate' type='text/html' href='http://embeddedgurus.net/state-space/2009/04/cute-creator.html' title='Cute Creator'/><author><name>Miro Samek</name><uri>http://www.blogger.com/profile/08368476192107788179</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02130476538562136550'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34654804.post-3386701367052067341</id><published>2009-03-09T17:15:00.012-04:00</published><updated>2009-03-09T22:25:01.907-04:00</updated><title type='text'>Insects of the computer world</title><summary type='text'>The recent Jack Ganssle's "Breakpoints" blog on Embedded.com makes an excellent point that the same forces (the Moore's law), which drive down the prices of high-end processors open even more market opportunities at the low-end of the price spectrum. I also agree that the most deciding factor for the price of a single-chip microcontroller (MCU) is the efficiency of its memory use, in other words,</summary><link rel='related' href='http://www.embedded.com/columns/breakpoint/215801305' title='Insects of the computer world'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/3386701367052067341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=34654804&amp;postID=3386701367052067341' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default/3386701367052067341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default/3386701367052067341'/><link rel='alternate' type='text/html' href='http://embeddedgurus.net/state-space/2009/03/insects-of-computer-world.html' title='Insects of the computer world'/><author><name>Miro Samek</name><uri>http://www.blogger.com/profile/08368476192107788179</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02130476538562136550'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34654804.post-5010334825782542217</id><published>2009-01-07T13:15:00.001-05:00</published><updated>2009-01-07T13:34:46.939-05:00</updated><title type='text'>RTOS Alternatives</title><summary type='text'>As hundreds of commercial and other RTOS offerings can attest, the greatest demand for third-party software in the embedded systems community is for the RTOS. But this is perhaps because most embedded developers believe that traditional preemptive RTOS on one end of the complexity spectrum and the customary superloop (main+ISRs) on the other are the only choices for the embedded software </summary><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/5010334825782542217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=34654804&amp;postID=5010334825782542217' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default/5010334825782542217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default/5010334825782542217'/><link rel='alternate' type='text/html' href='http://embeddedgurus.net/state-space/2009/01/event-driven-programming-for-embedded.html' title='RTOS Alternatives'/><author><name>Miro Samek</name><uri>http://www.blogger.com/profile/08368476192107788179</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02130476538562136550'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34654804.post-4575268577104702410</id><published>2008-06-11T11:36:00.001-04:00</published><updated>2008-07-18T09:02:47.548-04:00</updated><title type='text'>Make the most of side-by-side code differencing</title><summary type='text'>I'm constantly amazed how many developers shoot themselves in the foot by defeating the benefits of side-by-side source code differencing, which is perhaps the most routinely used technique in daily code development and maintenance with any VCS (Version Control System). In this post, I'd like to share a few tips for making the most of side-by-side differencing, which in my view should be adopted </summary><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/4575268577104702410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=34654804&amp;postID=4575268577104702410' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default/4575268577104702410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default/4575268577104702410'/><link rel='alternate' type='text/html' href='http://embeddedgurus.net/state-space/2008/06/make-most-of-side-by-side-diff.html' title='Make the most of side-by-side code differencing'/><author><name>Miro Samek</name><uri>http://www.blogger.com/profile/08368476192107788179</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02130476538562136550'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34654804.post-1673033686441665944</id><published>2008-01-20T19:11:00.000-05:00</published><updated>2008-01-20T22:04:21.905-05:00</updated><title type='text'>Object-based programming in C</title><summary type='text'>Embedded developers abandon C++ in droves. According to the 2007 survey published in the ESD magazine, the C++ use declined by one-third compared to year before, which was offset by an equal rise in popularity of C—the only viable alternative in embedded.Even though the last year was most dramatic, the trend has been actually continuing for a number of years. This couldn't go unnoticed by UML </summary><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/1673033686441665944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=34654804&amp;postID=1673033686441665944' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default/1673033686441665944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default/1673033686441665944'/><link rel='alternate' type='text/html' href='http://embeddedgurus.net/state-space/2008/01/object-based-programming-in-c.html' title='Object-based programming in C'/><author><name>Miro Samek</name><uri>http://www.blogger.com/profile/08368476192107788179</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02130476538562136550'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34654804.post-6220149564109621968</id><published>2007-09-26T12:59:00.000-04:00</published><updated>2007-11-07T21:58:52.092-05:00</updated><title type='text'>Is Eclipse The Emperor's New Clothes?</title><summary type='text'>"Many years ago there was an Emperor so exceedingly fond of new clothes......one day came two swindlers. They let it be known they were weavers, and they said they could weave the most magnificent fabrics imaginable. Not only were their colors and patterns uncommonly fine, but clothes made of this cloth had a wonderful way of becoming invisible to anyone who was unfit for his office, or who was </summary><link rel='related' href='http://www.andersen.sdu.dk/vaerk/hersholt/TheEmperorsNewClothes_e.html' title='Is Eclipse The Emperor&apos;s New Clothes?'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/6220149564109621968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=34654804&amp;postID=6220149564109621968' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default/6220149564109621968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default/6220149564109621968'/><link rel='alternate' type='text/html' href='http://embeddedgurus.net/state-space/2007/09/emperors-new-clothes.html' title='Is Eclipse The Emperor&apos;s New Clothes?'/><author><name>Miro Samek</name><uri>http://www.blogger.com/profile/08368476192107788179</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02130476538562136550'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34654804.post-5329993375901838632</id><published>2007-06-22T22:47:00.000-04:00</published><updated>2007-08-27T11:38:52.588-04:00</updated><title type='text'>Embedded Software Crisis or Embedded Software Glut?</title><summary type='text'>I’ve been listening to the recent webcast "Solving the Embedded Software Crisis" (see also Rich Nass’ column "The need for more programmers" in the May issue of the ESD magazine). Of course, the main thrust of this particular webcast (as well as the ESD column) was the use of code generating tools (such as LabView from National Instruments, the sponsor of this webcast) to alleviate the allegedly </summary><link rel='related' href='http://seminar2.techonline.com/s/esd_jun1907' title='Embedded Software Crisis or Embedded Software Glut?'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/5329993375901838632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=34654804&amp;postID=5329993375901838632' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default/5329993375901838632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default/5329993375901838632'/><link rel='alternate' type='text/html' href='http://embeddedgurus.net/state-space/2007/06/embedded-software-crisis-or-embedded.html' title='Embedded Software Crisis or Embedded Software Glut?'/><author><name>Miro Samek</name><uri>http://www.blogger.com/profile/08368476192107788179</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02130476538562136550'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34654804.post-115906308543245951</id><published>2006-09-23T21:56:00.000-04:00</published><updated>2006-09-23T21:58:05.436-04:00</updated><title type='text'>Agile Embedded Development</title><summary type='text'>Silicon Valley finally seems to be taking a serious look at "agile development" as a competitive advantage. Articles like “Reinventing the Software Development Strategy” by John Seybold give us a glimmer of hope that maybe software development doesn’t always need to be a “death march” of missed schedules, but rather can actually be fun. If you accept arguments made in Seybold’s article (and many </summary><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/115906308543245951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=34654804&amp;postID=115906308543245951' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default/115906308543245951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default/115906308543245951'/><link rel='alternate' type='text/html' href='http://embeddedgurus.net/state-space/2006/09/agile-embedded-development_23.html' title='Agile Embedded Development'/><author><name>Miro Samek</name><uri>http://www.blogger.com/profile/08368476192107788179</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02130476538562136550'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34654804.post-115863899260158308</id><published>2006-09-19T00:08:00.000-04:00</published><updated>2006-09-23T21:56:41.116-04:00</updated><title type='text'>What Embedded Programs have to do with Hollywood?</title><summary type='text'>I still remember the "Triumph of the Nerds" PBS special, where Steve Jobs recalled his early days at Apple and how the young Apple team picked up the brains of scientists at the Xerox Palo Alto Research Center (PARC) . Steve explained how PARC researchers showed them three revolutionary things: (1) the graphical user interface (GUI), (2) computer network, and (3) object-oriented programming. Out </summary><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/115863899260158308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=34654804&amp;postID=115863899260158308' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default/115863899260158308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34654804/posts/default/115863899260158308'/><link rel='alternate' type='text/html' href='http://embeddedgurus.net/state-space/2006/09/what-embedded-programs-have-to-do-with.html' title='What Embedded Programs have to do with Hollywood?'/><author><name>Miro Samek</name><uri>http://www.blogger.com/profile/08368476192107788179</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02130476538562136550'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>