{"id":2117,"date":"2011-05-09T18:09:48","date_gmt":"2011-05-09T16:09:48","guid":{"rendered":"http:\/\/www.final-memory.org\/?p=2117"},"modified":"2011-05-09T18:09:48","modified_gmt":"2011-05-09T16:09:48","slug":"dos-and-do-nots-for-developing-embedded-systems-software","status":"publish","type":"post","link":"https:\/\/www.final-memory.org\/?p=2117","title":{"rendered":"DOs and DO NOTs for developing Embedded Systems software"},"content":{"rendered":"<p>Zum Thema &#8220;Was sollte man tun und was nicht, wenn man Software f\u00fcr Embedded Systems entwirft und usitzt?&#8221;habe ich mal einen Artikel zusammegestellt. Dieser Artikel ist nat\u00fcrlich subjektiv, ich bin gerne bereit zu diskutieren. Die meisten Aspekte habe ich aber derweil schon aus verschiedenen Onlinequellen best\u00e4tigt bekommen.<\/p>\n<p><a href=\"http:\/\/www.final-memory.org\/?page_id=2113\" target=\"_blank\">http:\/\/www.final-memory.org\/?page_id=2113<\/a><\/p>\n<p>Im Prinzip habe ich dort mal zusammengefasst, was ich alles seit der Universit\u00e4t gelernt habe. Teile davon praktisch im Job, viele andere aber auch fortbildungsm\u00e4\u00dfig aus dem Netz. Im Vordergrund steht vorallem, fiese Fallen von faul programmierten C zu umgehen. Viele der Regeln und Vorschl\u00e4ge sind auch sprachunabh\u00e4ngig und k\u00f6nnen nat\u00fcrlich auch auf andere Programmiersprachen angewendet werden.<\/p>\n<p>Ich selber habe viele dieser Regeln fr\u00fcher zum Beispiel nicht beherzigt. Wenn ich die Sourcen zu meiner Diplomarbeit ansehe, dann habe ich viele davon eklatant verletzt. Aber irgendwo will man ja auch einen Lerneffekt erkennen.<\/p>\n<p>Als weitergehende Lekt\u00fcre kann ich auch das &#8220;Embedded C Coding Standard&#8221; von Michael Barr empfehlen.<\/p>\n<p>Irgendwann schreibe ich vielleicht auch noch einengr\u00f6\u00dferen zusammenh\u00e4ngenden Artikel oder auch ein kleines Buch. Die Liste kann sicherlich noch erweitert werden.<\/p>\n<div id=\"facebook_like\"><iframe src=\"http:\/\/www.facebook.com\/plugins\/like.php?href=https%3A%2F%2Fwww.final-memory.org%2F%3Fp%3D2117&amp;layout=standard&amp;show_faces=true&amp;width=500&amp;action=like&amp;font=segoe+ui&amp;colorscheme=light&amp;height=80\" scrolling=\"no\" frameborder=\"0\" style=\"border:none; overflow:hidden; width:500px; height:80px;\" allowTransparency=\"true\"><\/iframe><\/div>","protected":false},"excerpt":{"rendered":"<p>Zum Thema &#8220;Was sollte man tun und was nicht, wenn man Software f\u00fcr Embedded Systems entwirft und usitzt?&#8221;habe ich mal einen Artikel zusammegestellt. Dieser Artikel ist nat\u00fcrlich subjektiv, ich bin gerne bereit zu diskutieren. Die meisten Aspekte habe ich aber derweil schon aus verschiedenen Onlinequellen best\u00e4tigt bekommen. http:\/\/www.final-memory.org\/?page_id=2113 Im Prinzip habe ich dort mal zusammengefasst, &hellip; <a href=\"https:\/\/www.final-memory.org\/?p=2117\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;DOs and DO NOTs for developing Embedded Systems software&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[65,34,76,27,57,7,74,64,63,25,35,36],"tags":[],"class_list":["post-2117","post","type-post","status-publish","format-standard","hentry","category-68hc11","category-34","category-ansi-c","category-asm-software","category-avr","category-elektronik","category-embedded-systems","category-firmware","category-hardware","category-it","category-mikrocontroller","category-sdcc"],"_links":{"self":[{"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/posts\/2117","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2117"}],"version-history":[{"count":2,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/posts\/2117\/revisions"}],"predecessor-version":[{"id":2119,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/posts\/2117\/revisions\/2119"}],"wp:attachment":[{"href":"https:\/\/www.final-memory.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2117"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2117"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}