⌨️ 5 تم جذاب VS Code
1️⃣ تم Dracula Official
• یه تم تیره با رنگهای بنفش و سبز نئونی که خیلیا دوستش دارن. این تم برای بیش از 180 اپلیکیشن دیگه هم موجوده.
2️⃣ تم One Dark Pro
• با رنگهای تیره و پسزمینه مشکی، کدنویسی رو برای چشمت راحتتر میکنه.
محبوبیت بالایی بین برنامه نویسا داره.
3️⃣ تم Ayu Mirage
• یه تم با رنگهای ملایم و طراحی مدرن که در سه نسخه تیره، روشن و میراژ ارائه میشه. تعامل بین تم تیره و روشن👌
4️⃣ تم Night Owl
• این تم مخصوص شبزندهداراست! رنگهای آبی تیره و متنهای با کنتراست بالا داره که توی نور کم، چشمت رو کمتر خسته میکنه.
5️⃣ تم Palenight
• یه تم با الهام از متریال دیزاین که رنگهای بنفش و آبی ملایمی داره. این تم محیطی زیبا و تمیز برای کدنویسی فراهم میکنه!
@Embedded_geek
1️⃣ تم Dracula Official
• یه تم تیره با رنگهای بنفش و سبز نئونی که خیلیا دوستش دارن. این تم برای بیش از 180 اپلیکیشن دیگه هم موجوده.
2️⃣ تم One Dark Pro
• با رنگهای تیره و پسزمینه مشکی، کدنویسی رو برای چشمت راحتتر میکنه.
محبوبیت بالایی بین برنامه نویسا داره.
3️⃣ تم Ayu Mirage
• یه تم با رنگهای ملایم و طراحی مدرن که در سه نسخه تیره، روشن و میراژ ارائه میشه. تعامل بین تم تیره و روشن👌
4️⃣ تم Night Owl
• این تم مخصوص شبزندهداراست! رنگهای آبی تیره و متنهای با کنتراست بالا داره که توی نور کم، چشمت رو کمتر خسته میکنه.
5️⃣ تم Palenight
• یه تم با الهام از متریال دیزاین که رنگهای بنفش و آبی ملایمی داره. این تم محیطی زیبا و تمیز برای کدنویسی فراهم میکنه!
@Embedded_geek
در چند ماه اخیر، شاهد افزایش قابل توجهی در قیمت حافظههای کامپیوتری مانند ماژولهای DRAM (برای رم سیستم) و درایوهای حالت جامد (SSD) بودهایم. این افزایش قیمت عمدتاً ریشه در کمبود تأمین آیسیهای (ICs) تخصصی مورد استفاده در این محصولات دارد. این کمبود، عوامل متعددی از جمله تغییرات استراتژیک تولیدکنندگان نیمههادی، نوسانات تقاضا در بخشهای مختلف صنعت (مانند دیتاسنترها، خودروسازی و موبایل)، و همچنین چالشهای زنجیره تأمین جهانی دارد.حافظههای DRAM (Dynamic Random-Access Memory) در سیستمهای امبدد (Embedded Systems) و سیستمهای کامپیوتری سنتی، بهعنوان حافظه اصلی موقت (Main Memory) عمل میکنند. ساختار هر سلول DRAM شامل یک ترانزیستور (معمولاً MOSFET) و یک خازن است که وضعیت بیت (0 یا 1) را بر اساس شارژ یا عدم شارژ بودن خازن ذخیره میکند.به دلیل نشت جریان (Leakage Current) در خازنها، اطلاعات ذخیرهشده در DRAM بهطور مداوم از بین میروند؛ بنابراین، نیاز است که فرآیند Refresh بهصورت دورهای انجام شود. این ویژگی «دینامیک» بودن این نوع حافظه را تبیین میکند. این عملیات Refresh در طراحی سیستمهای امبدد حساس به توان (مانند دستگاههای IoT یا سیستمهای باتریمحور) چالشهای خاصی ایجاد میکند، زیرا منجر به مصرف توان اضافی میشود.در سیستمهای امبدد مدرن، LPDDR (Low Power DDR) نسخه کممصرف DRAM است که بهطور گسترده در دستگاههای تلفن همراه، سیستمهای نهفته و پلتفرمهای edge computing استفاده میشود.در مقابل، SSDها (Solid State Drives) از حافظههای NAND Flash بهعنوان رسانه ذخیرهسازی اصلی استفاده میکنند. NAND Flash یک نوع حافظه غیرفرار (Non-Volatile Memory) است که قادر به نگهداری داده بدون نیاز به تغذیه است. این حافظهها بر اساس تراشههای فلوتینگ گیت (Floating-Gate Transistors) کار میکنند.در سیستمهای امبدد، معمولاً از eMMC (embedded MultiMediaCard) یا UFS (Universal Flash Storage) بهعنوان ذخیرهساز داخلی استفاده میشود که هر دو مبتنی بر NAND Flash هستند. با پیشرفت فناوری، بهویژه در معماریهای 3D NAND، چگالی ذخیرهسازی افزایش یافته اما همراه با آن چالشهایی در کنترل خطاهای نوشتن/خواندن (Write/Erase Endurance و Bit Error Rate) نیز پدید آمدهاند که نیازمند الگوریتمهای پیچیده FTL (Flash Translation Layer) و ECC (Error Correction Code) در کنترلر SSD یا SoC سیستم امبدد هستند.تولید هر دو نوع آیسی DRAM و NAND Flash نیازمند فابهای پیشرفته (معمولاً در نودهای فناوری 10 نانومتری و کوچکتر) است. تولیدکنندگان بزرگی مانند Samsung، SK Hynix، Micron و Kioxia، قیمتگذاری این محصولات را بر اساس تعادل بین عرضه و تقاضا انجام میدهند. در سالهای اخیر، تصمیم این شرکتها برای کاهش تولید به دلیل کاهش سودآوری و انباشت موجودی قبلی، منجر به تنگنشینی بازار و افزایش قیمت شده است.
@Embedded_geek
@Embedded_geek
اگر دوست دارید کیبورد طراحی کنید!!!(با سورس و پی سی بی) این ریپو اومده پروژه های مختلف اون رو جمع آوری کرده
@Embedded_geek
@Embedded_geek
یه پروژه جالبی هست به Cyclone که اومده یه دستگاه cnc برای ساخت PCB ساخته به همراه سورس کد و نرم افزارش.
@Embedded_geek
@Embedded_geek
کالکشن سورس دیباگر های میکرو و fpga
stlink v2 v3
Jlink
Jlink OB
cmsis-dap
dap-link
blackmagicprobe
@Embedded_geek
stlink v2 v3
Jlink
Jlink OB
cmsis-dap
dap-link
blackmagicprobe
@Embedded_geek
یه کتابخونه ای هست به Cello که براساس زبان سی نوشته شده و برای پیاده سازی مفاهیم سطح بالای برنامه نویسی نوشته شده.مفاهیم زیر به زبان سی پیاده سازی شده:
Generic Data Structures
Polymorphic Functions
Interfaces / Type Classes
Constructors / Destructors
Optional Garbage Collection
Exceptions
Reflection
و چون با زبان سی نوشته شده همون عملکرد و سرعت سی رو دارید.
زیر یه مثال از این کتابخونه هستش:
@Embedded_geek
Generic Data Structures
Polymorphic Functions
Interfaces / Type Classes
Constructors / Destructors
Optional Garbage Collection
Exceptions
Reflection
و چون با زبان سی نوشته شده همون عملکرد و سرعت سی رو دارید.
زیر یه مثال از این کتابخونه هستش:
#include "Cello.h"
int main(int argc, char** argv) {
/* Stack objects are created using "$" */
var i0 = $(Int, 5);
var i1 = $(Int, 3);
var i2 = $(Int, 4);
/* Heap objects are created using "new" */
var items = new(Array, Int, i0, i1, i2);
/* Collections can be looped over */
foreach (item in items) {
print("Object %$ is of type %$\n",
item, type_of(item));
}
/* Heap objects destructed via Garbage Collection */
return 0;
}
@Embedded_geek
یه زبان برنامه نویسی هست به نام گرویتی که به زبان سی نوشته شده قدرتمند،تایپ داینامیک،سبک وزن، قابل تعبیه بدون هیچ وابستگی به کتاخونه خارجی که سیتنکس شبیه سوییفت داره. از برنامه نویسی oop، procedural,functional و data-driven پیشتیبانی میکنه و میتونه با کامپایلر c99 کامپایل بشه.
یه نمونه کد ازش ببنید:
@Embedded_geek
یه نمونه کد ازش ببنید:
class Vector {
// instance variables
var x = 0;
var y = 0;
var z = 0;
// constructor
func init (a = 0, b = 0, c = 0) {
x = a; y = b; z = c;
}
// instance method (built-in operator overriding)
func + (v) {
if (v is Int) return Vector(x+v, y+v, z+v);
else if (v is Vector) return Vector(x+v.x, y+v.y, z+v.z);
return null;
}
// instance method (built-in String conversion overriding)
func String() {
// string interpolation support
return "[\(x),\(y),\(z)]";
}
}@Embedded_geek
راهنمایی جامع بر ۵۰ سال تکاملِ برنامهنویسیِ سختگیرانهٔ زبان C، ادای احترامی به زبان دنیس ریچی
@Embedded_geek
@Embedded_geek