تعبیه شده درونی ، جاسازی شده ، ادغام شده ، نهفته ، [درونی ، توکار] صفتی برای مواردی مانند کد برنامه یا فرمان ، که در حاملهای مربوطه جای گرفته اند و نیازی به فراخوانی آنها وجود ندارد در نرم افزارها. فرمانهای چاپ درونی ، کدهایی هستند که برای کنترل چاپ و تغییر قالب ، به وسیله برنامه کاربردی در اسناد جای میگیرند . کد اسمبلی درونی ، از دستورالعملهای زبان اسمبلی تشکیل میشوند که در برنامه نوشته شده به یک زبان سطح بالا مانند C جای میگیرند کد درونی برای افزایش سرعت و کارایی برنامه یا فراهم نمودن قابلیتی که در زبان سطح بالای مزبور وجود ندارد ، مورد استفاده قرار میگیرد.
با مطالعه دیدگاههای مختلف و بررسی مصداقها شاید مفیدترین و خلاصهترین تعریف همین باشد که : سیستم اِمبدد ترکیبی از سختافزار و نرمافزار است که برای انجام وظایف مشخصی ساخته و برنامهریزی میشود.کاهش هزینهها ، بالا بردن امنیت ، حجم کم ، مصرف توان پایین و ... از اهداف بهکارگیری این سیستمها است.
لوازم خانگی، ماشینهای صنعتی، دستگاههای پزشکی، دوربینها، هواپیماهاماشین های خودرانو بسیاری دیگر از ابزارهای زندگی نقاطی هستند که سیستم امبدد میتواند در آنها وجود داشته باشد .
امبدد چیست؟
سختافزار سیستم امبدد
سخت افزار این سیستمها میتواند بر پایه میکروپروسسور و یا میکروکنترلر باشد . میکروپروسسورها و میکروکنترلرها از نظر ظاهری با هم تفاوت چندانی ندارند و براحتی قابل تشخیص نیستند. تصمیمگیری در مورد انتخاب میکروکنترلر یا میکروپروسسور یک بحث فنی و مفصل است اما اصلیترین تفاوت میان میکروکنترلر و میکروپروسسور همین نکته است که :
میکروپروسسور تنها یک پردازنده است و برای استفاده از آن باید قطعات جانبی مانند حافظه، مبدلها و ... توسط ما به سیستم اضافه شوند اما میکروکنترلر یک پکیج است که علاوه بر پردازشگر ، این لوازم جانبی را در درون خود دارد.
شرکتهای apple ، IBM ، Intel ، Texas Instrument و ARM از غولهای تولیدکننده تراشه برای سیستم امبدد به شمار میروند که در این میان ARM به نوعی فراگیرتر است و شرکتهای apple و IBM عمدتاً تولید تراشههای اختصاصی برای محصولات خود را در دستور کار دارند .
- نرمافزار سیستم امبدد
برنامه سیستمهای امبدد (در صورتی که به سیستم عامل نیاز نباشد) ، اغلب توسط خود فرد توسعه دهنده کدنویسی میشود و به دلیل اینکه این نوع نرمافزارها در طول زمان تغییر نمیکند گاهی به آنها firmware یا نرمافزار دائمی میگویند . کدنویسی برای سیستمهای امبدد اغلب با استفاده از زبانهای C و C++ انجام میشود البته زبانهای سطح بالای دیگری مانند Python و JavaScript نیز در این حوزه مورد استفاده قرار میگیرند.
برخلاف کامپیوترهای استاندارpc) ، لپ تاپ و ...) که همیشه از سیستم عامل بهره میبرند ، سیستمهای امبدد در مواردی از سیستم عامل استفاده میکنند و در مواردی نه . البته سیستم عاملها در حوزه امبدد نسبت به کامپیوترهای استاندارد از تنوع بیشتری برخورادرند ؛ Linux ، Windows CE ، Openwrt ، VxWorks ، BeRTOS ، ThreadX و دهها سیستم عامل دیگر.
معمولاً نرمافزار نوشته شده برای دستگاه امبدد پس از کامپایل (تبدیل شدن به زبان ماشین) بر روی حافظه فلَش (flash) ذخیره میشود .