{"id":7210,"date":"2015-01-05T15:51:28","date_gmt":"2015-01-05T14:51:28","guid":{"rendered":"https:\/\/blogs.mentor.com\/colinwalls\/?p=7210"},"modified":"2026-03-26T16:44:55","modified_gmt":"2026-03-26T20:44:55","slug":"embedded-articles-medical-systems-c-function-parameters-multitasking-and-forth","status":"publish","type":"post","link":"https:\/\/blogs.sw.siemens.com\/embedded-software\/2015\/01\/05\/embedded-articles-medical-systems-c-function-parameters-multitasking-and-forth\/","title":{"rendered":"Embedded articles &#8211; medical systems, C function parameters, multitasking and Forth"},"content":{"rendered":"<p>Although I regard the New Year as a time to look forward, I am continuing my catch-up process of cataloging embedded software articles that I have had published on embedded.com in the recent past. This time they cover medical systems, C function parameters, the basics of multitasking and the Forth language&#8230;<!--more--><\/p>\n<h3><a href=\"http:\/\/www.embedded.com\/design\/real-world-applications\/4429787\/Electronics-for-the-Sick\" target=\"_blank\" rel=\"noopener noreferrer\">Electronics for the Sick<\/a><\/h3>\n<p>Electronics is used for numerous applications, but one, for which most of us feel grateful, is medical instrumentation. A modern hospital or doctor&#8217;s surgery is bristling with electronics. This article reviews the embedded software technology that drives such systems and looks at how this application area is driving many new developments as well as leveraging existing techniques and devices. At the same time, medical applications present new challenges to embedded software developers, which cannot be ignored.<\/p>\n<p><a href=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/51\/2015\/01\/Key-Health-Care-Trends-and-Issues.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-7213\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/51\/2015\/01\/Key-Health-Care-Trends-and-Issues-520x391.jpg\" alt=\"Key Health Care Trends and Issues\" width=\"520\" height=\"391\" \/><\/a><\/p>\n<h3><a href=\"http:\/\/www.embedded.com\/design\/programming-languages-and-tools\/4430414\/Function-Parameters\" target=\"_blank\" rel=\"noopener noreferrer\">Function Parameters<\/a><\/h3>\n<p>Passing parameters to a C function seems simple enough, the details of how that process takes place have a significant impact on the behavior and performance of the code. Programmers of desktop computers do not care about this impact; embedded developers do not have that luxury. This article looks at parameter passing mechanisms and how to use them optimally.<\/p>\n<h3><a href=\"http:\/\/www.embedded.com\/design\/programming-languages-and-tools\/4434261\/A-multitasking-kernel-in-as-close-as-you-can-get-to-one-line-of-code\" target=\"_blank\" rel=\"noopener noreferrer\">A multitasking kernel in one line of code &#8211; almost<\/a><\/h3>\n<p>In a world dominated real time operating systems with enormous arrays of functionality and full scale operating systems, like Linux, it can be useful to stand back and consider the basics. What if you just need some basic multi-threading? How complex does that need to be? In this article, some ideas are proposed for almost trivially simple multi-threading, which might even be implemented in a single line of code!<\/p>\n<p><a href=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/51\/2015\/01\/Fig.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-7214\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/51\/2015\/01\/Fig-520x328.png\" alt=\"Fig\" width=\"520\" height=\"328\" \/><\/a><\/p>\n<h3><a href=\"http:\/\/www.embedded.com\/design\/programming-languages-and-tools\/4431133\/Go-Forth-\" target=\"_blank\" rel=\"noopener noreferrer\">Go Forth!<\/a><\/h3>\n<p>The most commonly used programming language for embedded applications is C, with C++ gradually becoming more popular. C was never designed for embedded use, but a handful of languages were intended from day 1 to be used for this purpose. One of those languages is Forth. Although it may be argued that the language&#8217;s heyday was about 30 years ago, there are still a loyal band for Forth fanatics who keep the language alive. In this article, there is a very brief introduction to the language and we consider whether it might have a place in modern embedded systems.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Although I regard the New Year as a time to look forward, I am continuing my catch-up process of cataloging&#8230;<\/p>\n","protected":false},"author":71677,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spanish_translation":"","french_translation":"","german_translation":"","italian_translation":"","polish_translation":"","japanese_translation":"","chinese_translation":"","footnotes":""},"categories":[1],"tags":[313,300,347,303,593,309],"industry":[],"product":[],"coauthors":[],"class_list":["post-7210","post","type-post","status-publish","format-standard","hentry","category-news","tag-c","tag-embedded-software","tag-forth","tag-medical","tag-multitasking","tag-rtos"],"_links":{"self":[{"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/posts\/7210","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/users\/71677"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/comments?post=7210"}],"version-history":[{"count":1,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/posts\/7210\/revisions"}],"predecessor-version":[{"id":10327,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/posts\/7210\/revisions\/10327"}],"wp:attachment":[{"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/media?parent=7210"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/categories?post=7210"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/tags?post=7210"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/industry?post=7210"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/product?post=7210"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/coauthors?post=7210"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}