Telegram Web Link
Embedded Academy
#نکات_نهفته؛ 👈 مراحل کامپایل تا فلش یک برنامه روی میکروکنترلر 🔺 صفحه‌ای از این کتاب #Cpp #Programming 🔸 نکات نهفته را دنبال کنید. 🔺 @embedded
فرایند ‌build شدن کد :

این فرایند به طور کل شامل 2 بخش اصلی است
compilation stage & linking stage

compilation

ابتدا ماشین پیش پردازنده در کامپایلر از فایل c. ما یک فایل i. تولید می کنه تمام ماکرو ها و include هارو اضافه می کنه به کد
parser

در این مرحله ماشین parser در کامپایلر کد ما و دستورات مارو مطابق با استاندارد زبانی که انتخاب کردیم می سنجه و اگر مشکلی در کد باشه در این مرحله به برنامه نویس اطلاع میده

code generator

در این بخش کد از زبان سطح بالا به زبان سطح پایین اسمبلی تبدیل می شه و یک فایل s. تولید میشه

assembler

در این مرحله کد اسمبلی به کد ماشین تبدیل مشه و فایل o. تولید میشه

Linker stage

در این مرحله تمام فایل های C. به هم متصل میشن همه کتابخونه ها و تمام فایل های پروژه و در نهایت لینکر یک فایل elf. تولید می کنه

post proccessing stage

دراین مرحله توسط ابزار هایی مثل objcopy tools میان و از فایل قابل دیباگ و قابل اجرا elf. فایل های فقط قابل اجرا bin. و .. رو تولید می کنن
via Roya Ghaennezhad
Source of pic: Microcontroller Embedded C Programming udemy
@embedded
📰 #آگهی_استخدام
📍 #تهران
🔺 #تمام_وقت

👈 یک شرکت دانش بنیان مستقر در دانشگاه صنعتی شریف جهت تکمیل کادر فنی خود نیازمند یک کارشناس لینوکس جهت نصب و پشتیبانی در حوزه سیستم نهفته با ویژگی های فنی زیر است:

شرایط لازم:
اشتیاق به یادگیری و کسب تجربه
آشنایی با شبکه های کامپیوتری
آشنایی با سیستم عامل ویندوز و لینوکس (بویژه مباحث شبکه در آن)
آشنایی با پایگاه داده
توانایی انجام ماموریت برای نصب (حق ماموریت پرداخت خواهد شد.)

ویژگی های امتیازی:

تسلط به سیستم عامل های بر مبنای Debian
تسلط به Bash-Scripting و MySQL
تسلط به محیط های مجازی سازی مثل ESXi
دارابودن مدرک LPIC1 وبالاتر

فرد متقاضی بایستی آمادگی ماموریت های خارج استانی را در طول ماه داشته باشد. همچنین به ازای ماموریت های خارج استان حق ماموریت به فرد پرداخت می شود.

👈 علاقمندان رزومه خود را به آدرس:
[email protected]
ارسال بفرمایند یا از طریق جابینجا اقدام به ارسال رزومه فرمایند.
لینک آگهی در جابینجا

📌 فرصت‌های شغلی مرتبط با مهندسی نهفته 👇
@embedded
Forwarded from Embedded Academy
🎈 #انگیزشی؛

🔹 #موفقیت چیزی جز فروختن منافع کوتاه مدت به منافع بلندمدت نیست!



🌹 برای شما همراهان پرتلاش #شنبه_پرانرژی و سرآغاز هفته ای خوب و پر از تلاش بر آینده آرزومندیم.

👈 #شنبه_پرانرژی را دنبال کنید.
🔺 @embedded
📰 #آگهی_استخدام
📍 #تهران
🔺 #تمام_وقت

یک مجموعه دانش بنیان مستقر در دانشگاه صنعتی شریف جهت تکمیل کادر فنی خود نیاز به افراد متخصص و علاقه‌مند در موقعیت‌های شغلی زیر را دارد. خواهشمند است علاقه مندان روزمه خود را در این زمینه ارسال نمایند.


🔸 برنامه نویس ++C (تمام وقت)

👈تسلط به توابع و کتابخانه هایC++ Standard Library
👈تسلط به نوشتن کدهای Multi-Thread
👈آشنایی با سیستم عامل لینوکس
👈 آشنایی با کتابخانه های پردازش تصویر مزیت محسوب میشود.

🔹 کارشناس پردازش تصویر (تمام وقت)
👈 مسلط بر مفاهیم پردازش تصویر
👈 مسلط به کتابخانه OpenCv
👈 آشنایی Cpp و Qt
👈 آشنا به لینوکس
👈 آشنایی با فریمورک های یادگیری عمیق مزیت محسوب میشود.

🔸 متخصص هوش مصنوعی (تمام وقت)
👈 مسلط به مفاهیم یادگیری عمیق
👈 مسلط به فریمورک pytorch یا tensorflow
👈 آشنا با مفاهیم #هوش_نهفته و علاقه مند جهت توسعه شبکه‌های لایت ویت
👈 آشنایی با سخت افزارهای نهفته و پردازش لبه مزیت محسوب میشود.

🔹 کارشناس لینوکس (تمام وقت)
👈 مسلط بر لینوکس
👈 آشنا با bash scripting
👈 آشنا با مفاهیم لینوکس نهفته
👈 آشنایی با مباحث امن سازی سیستم عامل مزیت محسوب میشود.

🔸 طراح سخت افزار/نرم افزار نهفته (تمام وقت)
👈 مسلط بر ++C
👈 آشنا با پردازنده‌های ARM
👈 آشنا با بردهای esp
👈 آشنایی با نرم افزار آلتیوم دیزاینر مزیت محسوب میشود.

جذب کارآموز (دانشجوی کارشناسی و ارشد به صورت پاره وقت و پروژه‌ای) در موقعیت‌های شغلی بالا نیز به شرط اثبات توانمندی یادگیری و علاقه‌مندی در محیطی پویا، دوستانه و رشد محور ممکن است و علاقه‌مندان میتوانند با درج موضوع کارآموزی نسبت به ارسال رزومه اقدام نمایند. بدیهی است پس از دوره کارآموزی درصورت تمایل کارآموز امکان جذب فراهم است.


ایمیل جهت ارسال رزومه:
[email protected]

📌 فرصت‌های شغلی مرتبط با مهندسی نهفته 👇
@embedded
Forwarded from Embedded Academy
📌پنجم اسفند «روز مهندس» بر همه مهندسان، به ویژه «مهندسان نهفته» مبارکباد.



👈 پنجم اسفند زادروز دانشمند بزرگ ایرانی خواجه نصیر الدین خوارزمی، همه چیز دان، ریاضیدان، فیلسوف، منجم و معمار ایرانی به نام رو مهندس نام گرفته است.


🔹 کانال #مهندسی_نهفته
@embedded
انجمن علمی نوروساینس دانشگاه علوم پزشکی همدان
با همکاری ستاد توسعه ی علوم شناختی
و کمیته تحقیقات دانشگاه علوم پزشکی همدان

به مناسب هفته ی #آگاهی_از_مغز

برگزار می کند :

🧠سلسله وبینار های #دوپامین
(گفتمانی از علوم اعصاب)

9 کارگاه و سخنرانی علمی

💻علوم اعصاب محاسباتی
📚علوم اعصاب بالینی
🐇مطالعات حیوانی



این کارگاه ها به جهت علاقه مندان و با حمایت ستاد توسعه شناختی #رایگان برگزار می شود

جهت شرکت و دریافت لینک وبینار ها به گروه زیر بپیوندید.


https://www.tg-me.com/+hsfNndDYJFw2MTJk

@NS_src
Forwarded from Taksuntech.ir (Sina Asadiyan)
ثبت نام رایگان ورکشاپ آدام تیلور با موضوع VITIS HLS :

In this workshop, attendees will learn:

Create sources and test benches
Debug applications when it does not go as expected
How to control the interfaces presented to the Vivado design on the final IP block
Understand the default optimisations made by synthesis
How to identify bottlenecks in the design and select constraints to optimize the design and achieve the desired performance
How to leverage the arbitrary precision capabilities of Vitis to implement mathematical algorithms
How to leverage the wider world of Vitis HLS libraries so users no longer have create commonly used functions from scratch
This will be a hands-on workshop with step-by-step instructions to help attendees grow in confidence and capability when using HLS in their designs.

https://app.livestorm.co/adiuvo-engineering/vitis-hls-hero
@Taksuntec
Forwarded from Embedded Academy
📰 #آگهی_استخدام
📍 #تهران
🔺 #تمام_وقت

استخدام/امریه

یک مجموعه دانش بنیان مستقر در دانشگاه صنعتی شریف جهت تکمیل کادر فنی خود نیاز به افراد متخصص و علاقه‌مند در موقعیت‌های شغلی زیر را دارد. خواهشمند است علاقه مندان روزمه خود را در این زمینه ارسال نمایند.
امکان جذب به صورت امریه شرکت‌های دانش‌بنیان برای افراد واجد شرایط نیز وجود دارد.

🔸 برنامه نویس ++C (تمام وقت)

👈تسلط به توابع و کتابخانه هایC++ Standard Library
👈تسلط به نوشتن کدهای Multi-Thread
👈آشنایی با سیستم عامل لینوکس
👈 آشنایی با کتابخانه های پردازش تصویر مزیت محسوب میشود.

🔹 کارشناس پردازش تصویر (تمام وقت)
👈 مسلط بر مفاهیم پردازش تصویر
👈 مسلط به کتابخانه OpenCv
👈 آشنایی Cpp و Qt
👈 آشنا به لینوکس
👈 آشنایی با فریمورک های یادگیری عمیق مزیت محسوب میشود.

🔸 متخصص هوش مصنوعی (تمام وقت)
👈 مسلط به مفاهیم یادگیری عمیق
👈 مسلط به فریمورک pytorch یا tensorflow
👈 آشنا با مفاهیم #هوش_نهفته و علاقه مند جهت توسعه شبکه‌های لایت ویت
👈 آشنایی با سخت افزارهای نهفته و پردازش لبه مزیت محسوب میشود.

🔹 کارشناس لینوکس (تمام وقت)
👈 مسلط بر لینوکس
👈 آشنا با bash scripting
👈 آشنا با مفاهیم لینوکس نهفته
👈 آشنایی با مباحث امن سازی سیستم عامل مزیت محسوب میشود.

🔸 طراح سخت افزار/نرم افزار نهفته (تمام وقت)
👈 مسلط بر ++C
👈 آشنا با پردازنده‌های ARM
👈 آشنا با بردهای esp
👈 آشنایی با نرم افزار آلتیوم دیزاینر مزیت محسوب میشود.

جذب کارآموز (دانشجوی کارشناسی و ارشد به صورت پاره وقت و پروژه‌ای) در موقعیت‌های شغلی بالا نیز به شرط اثبات توانمندی یادگیری و علاقه‌مندی در محیطی پویا، دوستانه و رشد محور ممکن است و علاقه‌مندان میتوانند با درج موضوع کارآموزی نسبت به ارسال رزومه اقدام نمایند. بدیهی است پس از دوره کارآموزی درصورت تمایل کارآموز امکان جذب فراهم است.


ایمیل جهت ارسال رزومه:
[email protected]

📌 فرصت‌های شغلی مرتبط با مهندسی نهفته 👇
@embedded
مقایسه عمر خازن‌های جامد و الکترولیت

🔸 خازن از جمله قطعات پرکاربرد در مدارهای الکترونیکی است که به نسبت بسیاری از قطعات عمر مفید کمتر و نقش پررنگ تری در خرابی وسایل الکترونیکی دارد. با این حال انواع خازن عمرهای مفید متفاوتی دارند. امروزه با جایگزینی خازنهای جامد (solid) به جای خازن های الکترولیتی، عمر وسایل الکترونیکی بواسطه افزایش تا 6 برابری عمر مفید خارن های solid در مقایسه با الکترولیتی قابل افزایش است.
اطلاعات بیشتر را از گیگابایت بخوانید.
#Eletronic
#Capacitor
@embedded
Embedded Academy
Embedded Development Changes over two decades Embedded development one decade or two ago: 👉 Microcontrollers 👉 C or Assembly language 👉 OS: Either bare metal or simple scheduler 👉 UI: LEDs, Switches, 16x2 text LCD 👉 Standalone devices 👉 Homegrown software…
Where Complexity Fails Us

Jack Ganssle

Engineering is about numbers. Do you specify a ±5% resistor or ±1%? Do the math! Will all of the signals arrive at the latch at the proper time? A proper analysis will reveal the truth. How hot will that part get? Crunch the numbers and pick the proper heat sink.

Alas, software engineering has been somewhat resistant to such analysis. Software development fads seem more prominent than any sort of careful analysis. Certainly, in the popular press "coding"1 is depicted as an arcane art practiced by gurus using ideas unfathomable to "normal" people. Measure stuff? Do engineering analysis? No, that will crowd our style, eliminate creativity, and demystify our work.

I do think, though, that in too many cases we've abdicated our responsibility as engineers to use numbers where we can. There are things we can and must measure.

One example is complexity, most commonly expressed via the McCabe Cyclomatic Complexity metric. A fancy term, it merely means the number of paths through a function. One that consists of nothing more than 20 assignment statements can be traversed exactly one way, so has a complexity of one. Add a simple if and there are now two directions the code can flow, so the complexity is two.

There are many reasons to measure complexity, not the least is to get a numerical view of the function's risk (spoiler: under 10 is considered low risk. Over 50: untestable.)

To me, a more important fallout is that complexity tells us, in a provably-correct manner, the minimum number of tests we must perform on a function to guarantee that it works. Run five tests against a function with a complexity of ten, and, for sure, the code is not completely tested. You haven't done your job.

What a stunning result! Instead of testing to exhaustion or boredom we can quantify our tests.

Alas, though, it only gives us the minimum number of required tests. The max could be a much bigger number.

Consider:

if ((a && b) (c && d) (e && f))...
Given that there's only two paths (the if is taken or not taken) this statement has a complexity of 2. But it is composed of a lot of elements, each of which will affect the outcome. A proper test suite needs a lot more than two tests. Here, complexity has let us down; the metric tells us nothing about how many tests to run.

Thus, we need additional strategies. One of the most effective is modified condition/decision coverage (MC/DC). Another fancy term, it means making sure every possible element in a statement is tested to ensure it has an affect on the outcome.

Today some tools offer code coverage: they monitor the execution of your program and tag every statement that has been executed, so you can evaluate your testing. The best offer MC/DC coverage testing. It's required by the most stringent of the avionics standards (DO-178C Level A), which is partly why airplanes, which are basically flying computers, aren't raining out of the sky.

Use complexity metrics to quantify your code's quality and testing, but recognize its limitations. Augment it with coverage tools.


Footnotes:

1 I despise the word "coding." Historically coding was the most dreary of all activities: the replacement of plain text by encrypted cipher. Low-level functionaries, or even machines, did the work. Maybe "coding" is an appropriate term for script kiddies or HTML taggers. If we are coders you can be certain that in very short order some AI will replace us. No, we in the firmware world practice2 software engineering: implementing complex ideas in software using the precepts of careful engineering. These include analysis, design, negotiating with customers, implementation and measurements of our implementations.

2 Bob Dylan got it right: "he not busy being born is busy dying". We should be forever practicing software engineering. Practice: "perform (an activity) or exercise (a skill) repeatedly or regularly in order to improve or maintain one's proficiency." Unless we're constantly striving to improve we'll be dinosaurs awaiting the comet of our destruction.

@embedded
Embedded Academy
📰 #آگهی_استخدام 📍 #تهران 📌 فرصت‌های شغلی مرتبط با مهندسی نهفته 👇 @embedded
📰 #آگهی_استخدام
📍 #تهران

شرکت فناوری خاص فعال در طراحی Embedded System در حوزه های زیر دعوت به همکاری می‌نماید📣

آدرس: تهران، منطقه ۲۲ ، شمال وردآورد

1️⃣⁩ طراح سخت‌افزار
طراحی شماتیک و PCB با همکاری مدیر فنی با رعایت استاندارهای لازم
حداقل یک سال سابقه کار با نرم‌افزار Altium یا مشابه
طراحی Symbol و Footprint و استفاده از Datasheet
آشنایی با مقدمات طراحی بردهای چند لایه

2️⃣ توسعه‌دهنده نرم‌افزار‌ی سیستمی
برنامه نویسی ++C/C
آشنایی با اجزای سیستم‌عامل گنولینوکس
آشنایی با برنامه‌نویسی میکروکنترلرها

3️⃣ هوش مصنوعی در سیستم‌های محدود
برنامه نویسی ++C/C یا Python
علاقمند در حوزه کاری شبکه عصبی / یادگیری عمیق
کارآموزی با برد Jetson Nano

4️⃣ مدیر داخلی شرکت دانش بنیان
امور مربوط به منابع انسانی / مالی و بازرگانی


ترجیحاً ساکن غرب تهران ،اندیشه،‌شهریار، شهر قدس، استان کرج

لطفاً رزومه خود را به آدرس های زیر ارسال نمایید
@EmbeddedS
[email protected]
@ofteax


📌 فرصت‌های شغلی مرتبط با مهندسی نهفته 👇
@embedded
Embedded Academy
🔸#تازه_ها استفاده از هوش مصنوعی و یادگیری ماشین در فضاپیماها به‌دلیل قابلیت بالای deep learning در ارائه هوش محاسباتی پیچیده ، هوش مصنوعی به گزینه جذابی جهت بهبود اجرای عملیات ها و کاهش هزینه های عملیاتی علی‌الخصوص…
This media is not supported in your browser
VIEW IN TELEGRAM
🔺 استفاده از فناوری بینایی ماشین و هوش مصنوعی در تشخیص آنی آتش🔥 و خاموش کردن آن

📌 ترکیب دوربین نظارتی و سیستم اطفا حریق ایده اصلی این سیستم است که با جایگزینی پردازش و تحلیل تصویر بجای سنسورهای معمول دود و آتش می‌تواند به کاهش هزینه (پوشش بیشتر دوربین نسبت به سنسورهای معمول) و همچنین افزایش سرعت پاسخ (سرعت بالاتر تشخیص آتش با استفاده از پردازش تصویر نسبت به سنسور) منجر شود. همچنین تشخیص زاویه مناسب جهت پاشش به ارتقا و بهره‌وری سیستم اطفا حریق، در مقایسه با پاشش کور در سیستم‌های معمول اطفا حریق کمک می‌کند.

#AI #MachineVision
@embedded
Embedded Academy
Where Complexity Fails Us Jack Ganssle Engineering is about numbers. Do you specify a ±5% resistor or ±1%? Do the math! Will all of the signals arrive at the latch at the proper time? A proper analysis will reveal the truth. How hot will that part get?…
🔺 One-third of all software faults take more than 5000 execution-years to fail. Thus, testing is an inadequate way to insure correctness.

👉 Adams, N.E "Optimizing preventive service of software products", IBM Journal of Research and Development, 28(1), p. 2-14

#EmbeddedQuotes
@embedded
2024/09/26 22:10:37
Back to Top
HTML Embed Code: